summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2009-07-10 09:44:53 -0700
committerSan Mehat <san@google.com>2009-07-10 09:44:53 -0700
commita3833718636c6bdcdf0bef2674e864e948e81d27 (patch)
tree3fdaa7ec076045ce1ec33f05f5ee668484ece286
parentb47b16353f3db228711dded9f7c975b820059ddc (diff)
downloadandroid_external_fsck_msdos-a3833718636c6bdcdf0bef2674e864e948e81d27.tar.gz
android_external_fsck_msdos-a3833718636c6bdcdf0bef2674e864e948e81d27.tar.bz2
android_external_fsck_msdos-a3833718636c6bdcdf0bef2674e864e948e81d27.zip
fsck_msdos: Don't bail out when there are FAT differences - auto-correct
Signed-off-by: San Mehat <san@google.com>
-rw-r--r--dir.c2
-rw-r--r--fat.c16
2 files changed, 9 insertions, 9 deletions
diff --git a/dir.c b/dir.c
index 6b149c8..b2f090e 100644
--- a/dir.c
+++ b/dir.c
@@ -719,7 +719,7 @@ readDosDirSection(int f, struct bootblock *boot, struct fatEntry *fat,
pwarn("%s doesn't start a cluster chain\n",
fullpath(&dirent));
if (dirent.flags & ATTR_DIRECTORY) {
- if (ask(0, "Remove")) {
+ if (ask(1, "Remove")) {
*p = SLOT_DELETED;
mod |= THISMOD|FSDIRMOD;
} else
diff --git a/fat.c b/fat.c
index 9213373..3411196 100644
--- a/fat.c
+++ b/fat.c
@@ -351,11 +351,11 @@ clustdiffer(cl_t cl, cl_t *cp1, cl_t *cp2, int fatnum)
}
pwarn("Cluster %u is marked %s in FAT 0, %s in FAT %d\n",
cl, rsrvdcltype(*cp1), rsrvdcltype(*cp2), fatnum);
- if (ask(0, "Use FAT 0's entry")) {
+ if (ask(1, "Use FAT 0's entry")) {
*cp2 = *cp1;
return FSFATMOD;
}
- if (ask(0, "Use FAT %d's entry", fatnum)) {
+ if (ask(1, "Use FAT %d's entry", fatnum)) {
*cp1 = *cp2;
return FSFATMOD;
}
@@ -363,11 +363,11 @@ clustdiffer(cl_t cl, cl_t *cp1, cl_t *cp2, int fatnum)
}
pwarn("Cluster %u is marked %s in FAT 0, but continues with cluster %u in FAT %d\n",
cl, rsrvdcltype(*cp1), *cp2, fatnum);
- if (ask(0, "Use continuation from FAT %d", fatnum)) {
+ if (ask(1, "Use continuation from FAT %d", fatnum)) {
*cp1 = *cp2;
return FSFATMOD;
}
- if (ask(0, "Use mark from FAT 0")) {
+ if (ask(1, "Use mark from FAT 0")) {
*cp2 = *cp1;
return FSFATMOD;
}
@@ -376,11 +376,11 @@ clustdiffer(cl_t cl, cl_t *cp1, cl_t *cp2, int fatnum)
if (*cp2 == CLUST_FREE || *cp2 >= CLUST_RSRVD) {
pwarn("Cluster %u continues with cluster %u in FAT 0, but is marked %s in FAT %d\n",
cl, *cp1, rsrvdcltype(*cp2), fatnum);
- if (ask(0, "Use continuation from FAT 0")) {
+ if (ask(1, "Use continuation from FAT 0")) {
*cp2 = *cp1;
return FSFATMOD;
}
- if (ask(0, "Use mark from FAT %d", fatnum)) {
+ if (ask(1, "Use mark from FAT %d", fatnum)) {
*cp1 = *cp2;
return FSFATMOD;
}
@@ -388,11 +388,11 @@ clustdiffer(cl_t cl, cl_t *cp1, cl_t *cp2, int fatnum)
}
pwarn("Cluster %u continues with cluster %u in FAT 0, but with cluster %u in FAT %d\n",
cl, *cp1, *cp2, fatnum);
- if (ask(0, "Use continuation from FAT 0")) {
+ if (ask(1, "Use continuation from FAT 0")) {
*cp2 = *cp1;
return FSFATMOD;
}
- if (ask(0, "Use continuation from FAT %d", fatnum)) {
+ if (ask(1, "Use continuation from FAT %d", fatnum)) {
*cp1 = *cp2;
return FSFATMOD;
}