diff --git a/src/check.c b/src/check.c index efa1581..b1f93fe 100644 --- a/src/check.c +++ b/src/check.c @@ -263,7 +263,7 @@ static int bad_name(DOS_FILE *file) /* don't complain about the dummy 11 bytes used by patched Linux kernels */ - if (file->lfn && name[0] == ' ') return 0; + if (file->dir_ent.lcase & FAT_NO_83NAME) return 0; for (i = 0; i < 8; i++) { if (name[i] < ' ' || name[i] == 0x7f) return 1; diff --git a/src/dosfsck.h b/src/dosfsck.h index 689cc03..01bdbb9 100644 --- a/src/dosfsck.h +++ b/src/dosfsck.h @@ -207,6 +207,9 @@ extern void *mem_queue; /* return -16 as a number with fs->fat_bits bits */ #define FAT_EXTD(fs) (((1 << fs->eff_fat_bits)-1) & ~0xf) +/* marker for files with no 8.3 name */ +#define FAT_NO_83NAME 32 + #endif /* Local Variables: */