Merge branch 'eclair' of git://github.com/koush/android_bootable_recovery into eclair
diff --git a/commands.c b/commands.c
index a544215..26e8980 100644
--- a/commands.c
+++ b/commands.c
@@ -806,12 +806,24 @@
UNUSED(cookie);
CHECK_WORDS();
- if (argc != 1) {
- LOGE("Command %s requires exactly one argument\n", name);
- return 1;
+ int restoreboot = 1;
+ int restoresystem = 1;
+ int restoredata = 1;
+ int restorecache = 1;
+ int i;
+ for (i = 0; i < argc; i++)
+ {
+ if (strcmp(argv[i], "noboot") == 0)
+ restoreboot = 0;
+ else if (strcmp(argv[i], "nosystem") == 0)
+ restoresystem = 0;
+ else if (strcmp(argv[i], "nodata") == 0)
+ restoredata = 0;
+ else if (strcmp(argv[i], "nocache") == 0)
+ restorecache = 0;
}
- return nandroid_restore(argv[0], 1, 1, 1, 1);
+ return nandroid_restore(argv[0], restoreboot, restoresystem, restoredata, restorecache);
}
static int
diff --git a/nandroid.c b/nandroid.c
index 39569c5..54d212a 100644
--- a/nandroid.c
+++ b/nandroid.c
@@ -122,7 +122,13 @@
ret = dump_image("boot", tmp, NULL);
if (0 != ret)
return print_and_error("Error while dumping boot image!\n");
-
+
+ ui_print("Backing up recovery...\n");
+ sprintf(tmp, "%s/%s", backup_path, "recovery.img");
+ ret = dump_image("recovery", tmp, NULL);
+ if (0 != ret)
+ return print_and_error("Error while dumping boot image!\n");
+
if (0 != (ret = nandroid_backup_partition(backup_path, "SYSTEM:", "system")))
return ret;