diff options
-rw-r--r-- | common/utils.c | 22 | ||||
-rw-r--r-- | common/utils.h | 1 | ||||
-rw-r--r-- | tools/idevicebackup.c | 27 | ||||
-rw-r--r-- | tools/idevicebackup2.c | 25 |
4 files changed, 30 insertions, 45 deletions
diff --git a/common/utils.c b/common/utils.c index f95ecfd..4a45d95 100644 --- a/common/utils.c +++ b/common/utils.c @@ -139,6 +139,28 @@ char *string_build_path(const char *elem, ...) return out; } +char *string_format_size(uint64_t size) +{ + char buf[80]; + double sz; + if (size >= 1000000000000LL) { + sz = ((double)size / 1000000000000.0f); + sprintf(buf, "%0.1f TB", sz); + } else if (size >= 1000000000LL) { + sz = ((double)size / 1000000000.0f); + sprintf(buf, "%0.1f GB", sz); + } else if (size >= 1000000LL) { + sz = ((double)size / 1000000.0f); + sprintf(buf, "%0.1f MB", sz); + } else if (size >= 1000LL) { + sz = ((double)size / 1000.0f); + sprintf(buf, "%0.1f KB", sz); + } else { + sprintf(buf, "%d Bytes", (int)size); + } + return strdup(buf); +} + char *string_toupper(char* str) { char *res = strdup(str); diff --git a/common/utils.h b/common/utils.h index 5cd4a53..97d3748 100644 --- a/common/utils.h +++ b/common/utils.h @@ -38,6 +38,7 @@ char *stpcpy(char *s1, const char *s2); #endif char *string_concat(const char *str, ...); char *string_build_path(const char *elem, ...); +char *string_format_size(uint64_t size); char *string_toupper(char *str); char *generate_uuid(); diff --git a/tools/idevicebackup.c b/tools/idevicebackup.c index 8260de6..195f837 100644 --- a/tools/idevicebackup.c +++ b/tools/idevicebackup.c @@ -224,25 +224,6 @@ static void notify_cb(const char *notification, void *userdata) } } -static char* format_size_for_display(uint64_t size) -{ - char buf[32]; - double sz; - if (size >= 1000000000LL) { - sz = ((double)size / 1000000000.0f); - sprintf(buf, "%0.1f GB", sz); - } else if (size >= 1000000LL) { - sz = ((double)size / 1000000.0f); - sprintf(buf, "%0.1f MB", sz); - } else if (size >= 1000LL) { - sz = ((double)size / 1000.0f); - sprintf(buf, "%0.1f kB", sz); - } else { - sprintf(buf, "%d Bytes", (int)size); - } - return strdup(buf); -} - static plist_t mobilebackup_factory_info_plist_new(const char* udid) { /* gather data from lockdown */ @@ -1037,7 +1018,7 @@ int main(int argc, char *argv[]) node = plist_dict_get_item(node_tmp, "BackupTotalSizeKey"); if (node) { plist_get_uint_val(node, &backup_total_size); - format_size = format_size_for_display(backup_total_size); + format_size = string_format_size(backup_total_size); printf("Backup data requires %s on the disk.\n", format_size); free(format_size); } @@ -1067,15 +1048,15 @@ int main(int argc, char *argv[]) plist_get_uint_val(node, &file_size); backup_real_size += file_size; - format_size = format_size_for_display(backup_real_size); + format_size = string_format_size(backup_real_size); printf("(%s", format_size); free(format_size); - format_size = format_size_for_display(backup_total_size); + format_size = string_format_size(backup_total_size); printf("/%s): ", format_size); free(format_size); - format_size = format_size_for_display(file_size); + format_size = string_format_size(file_size); printf("Receiving file %s (%s)... \n", filename_source, format_size); free(format_size); diff --git a/tools/idevicebackup2.c b/tools/idevicebackup2.c index 4fe5751..a43cbda 100644 --- a/tools/idevicebackup2.c +++ b/tools/idevicebackup2.c @@ -189,25 +189,6 @@ static int mkdir_with_parents(const char *dir, int mode) return res; } -static char* format_size_for_display(uint64_t size) -{ - char buf[32]; - double sz; - if (size >= 1000000000LL) { - sz = ((double)size / 1000000000.0f); - sprintf(buf, "%0.1f GB", sz); - } else if (size >= 1000000LL) { - sz = ((double)size / 1000000.0f); - sprintf(buf, "%0.1f MB", sz); - } else if (size >= 1000LL) { - sz = ((double)size / 1000.0f); - sprintf(buf, "%0.1f kB", sz); - } else { - sprintf(buf, "%d Bytes", (int)size); - } - return strdup(buf); -} - static plist_t mobilebackup_factory_info_plist_new(const char* udid, lockdownd_client_t lockdown, afc_client_t afc) { /* gather data from lockdown */ @@ -404,10 +385,10 @@ static void print_progress(uint64_t current, uint64_t total) print_progress_real((double)progress, 0); - format_size = format_size_for_display(current); + format_size = string_format_size(current); PRINT_VERBOSE(1, " (%s", format_size); free(format_size); - format_size = format_size_for_display(total); + format_size = string_format_size(total); PRINT_VERBOSE(1, "/%s) ", format_size); free(format_size); @@ -543,7 +524,7 @@ static int mb2_handle_send_file(mobilebackup2_client_t mobilebackup2, const char total = fst.st_size; - char *format_size = format_size_for_display(total); + char *format_size = string_format_size(total); PRINT_VERBOSE(1, "Sending '%s' (%s)\n", path, format_size); free(format_size); |