diff options
author | Koushik Dutta <koushd@gmail.com> | 2012-08-04 15:53:18 -0700 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2012-08-04 15:54:24 -0700 |
commit | a4385de1638e3c41aa9df6d8eb5dc336d8697966 (patch) | |
tree | 6037352ab372550e49d0170701e068885c6c3770 /nandroid.c | |
parent | 0adda42011f967bda95695887ce9c941bf793f92 (diff) | |
download | bootable_recovery-a4385de1638e3c41aa9df6d8eb5dc336d8697966.zip bootable_recovery-a4385de1638e3c41aa9df6d8eb5dc336d8697966.tar.gz bootable_recovery-a4385de1638e3c41aa9df6d8eb5dc336d8697966.tar.bz2 |
Rename Nandroid to backup/restore. Allow configuration of default backup handlers.
Change-Id: I0df52b3929ea3aaf179e1c572b80841c89879ca8
Diffstat (limited to 'nandroid.c')
-rw-r--r-- | nandroid.c | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -193,6 +193,22 @@ static int dedupe_compress_wrapper(const char* backup_path, const char* backup_f return __pclose(fp); } +static nandroid_backup_handler default_backup_handler = dedupe_compress_wrapper; +static void refresh_default_backup_handler() { + char fmt[5]; + ensure_path_mounted("/sdcard"); + FILE* f = fopen("/sdcard/clockworkmod/.default_backup_format", "r"); + if (NULL == f) + return; + fread(fmt, 1, sizeof(fmt), f); + fclose(f); + fmt[3] = NULL; + if (0 == strcmp(fmt, "tar")) + default_backup_handler = tar_compress_wrapper; + else + default_backup_handler = dedupe_compress_wrapper; +} + static nandroid_backup_handler get_backup_handler(const char *backup_path) { Volume *v = volume_for_path(backup_path); if (v == NULL) { @@ -206,7 +222,7 @@ static nandroid_backup_handler get_backup_handler(const char *backup_path) { } if (strcmp(backup_path, "/data") == 0 && is_data_media()) { - return dedupe_compress_wrapper; + return default_backup_handler; } // cwr5, we prefer dedupe for everything except yaffs2 @@ -214,7 +230,7 @@ static nandroid_backup_handler get_backup_handler(const char *backup_path) { return mkyaffs2image_wrapper; } - return dedupe_compress_wrapper; + return default_backup_handler; } @@ -286,6 +302,7 @@ int nandroid_backup(const char* backup_path) { nandroid_backup_bitfield = 0; ui_set_background(BACKGROUND_ICON_INSTALLING); + refresh_default_backup_handler(); if (ensure_path_mounted(backup_path) != 0) { return print_and_error("Can't mount backup path.\n"); |