Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > a6f01aa0dba75dc057d4120f84d1e2af > files > 3

dosfstools-3.0.12-1.fc16.src.rpm

--- dosfstools-3.0.12/src/check.c.old	2010-01-23 10:13:17.000000000 +0100
+++ dosfstools-3.0.12/src/check.c	2011-01-31 17:43:31.462674941 +0100
@@ -174,7 +174,10 @@
 	offset = fs->root_start + next_free * sizeof(DIR_ENT);
 	memset(de, 0, sizeof(DIR_ENT));
 	while (1) {
-	    sprintf((char *)de->name, pattern, curr_num);
+	    char expanded[12];
+	    sprintf(expanded, pattern, curr_num);
+	    memcpy(de->name, expanded, 8);
+	    memcpy(de->ext, expanded + 8, 3);
	    for (scan = 0; scan < fs->root_entries; scan++)
 		if (scan != next_free &&
 		    !strncmp((const char *)root[scan].name,
--- dosfstools-3.0.12/src/fat.c
+++ dosfstools-3.0.12/src/fat.c
@@ -474,7 +474,7 @@ void reclaim_file(DOS_FS * fs)
 	    DIR_ENT de;
 	    loff_t offset;
 	    files++;
-	    offset = alloc_rootdir_entry(fs, &de, "FSCK%04d");
+	    offset = alloc_rootdir_entry(fs, &de, "FSCK%04dREC");
 	    de.start = CT_LE_W(i & 0xffff);
	    if (fs->fat_bits == 32)
 		de.starthi = CT_LE_W(i >> 16);