summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--makedumpfile.c8
-rw-r--r--print_info.c15
2 files changed, 13 insertions, 10 deletions
diff --git a/makedumpfile.c b/makedumpfile.c
index dafe83b..3746cf6 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -5573,7 +5573,7 @@ write_elf_pages(struct cache_data *cd_header, struct cache_data *cd_page)
initialize_2nd_bitmap(&bitmap2);
num_dumpable = get_num_dumpable();
- per = num_dumpable / 100;
+ per = num_dumpable / 10000;
off_seg_load = info->offset_load_dumpfile;
cd_page->offset = info->offset_load_dumpfile;
@@ -5858,7 +5858,7 @@ write_elf_pages_cyclic(struct cache_data *cd_header, struct cache_data *cd_page)
return FALSE;
num_dumpable = info->num_dumpable;
- per = num_dumpable / 100;
+ per = num_dumpable / 10000;
off_seg_load = info->offset_load_dumpfile;
cd_page->offset = info->offset_load_dumpfile;
@@ -6116,7 +6116,7 @@ write_kdump_pages(struct cache_data *cd_header, struct cache_data *cd_page)
}
num_dumpable = get_num_dumpable();
- per = num_dumpable / 100;
+ per = num_dumpable / 10000;
/*
* Calculate the offset of the page data.
@@ -6317,7 +6317,7 @@ write_kdump_pages_cyclic(struct cache_data *cd_header, struct cache_data *cd_pag
goto out;
}
- per = info->num_dumpable / 100;
+ per = info->num_dumpable / 10000;
/*
* Set a fileoffset of Physical Address 0x0.
diff --git a/print_info.c b/print_info.c
index 3527970..d7a8600 100644
--- a/print_info.c
+++ b/print_info.c
@@ -283,27 +283,30 @@ print_usage(void)
void
print_progress(const char *msg, unsigned long current, unsigned long end)
{
- int progress;
+ float progress;
time_t tm;
static time_t last_time = 0;
+ static unsigned int lapse = 0;
+ static const char *spinner = "/|\\-";
if (current < end) {
tm = time(NULL);
if (tm - last_time < 1)
return;
last_time = tm;
- progress = current * 100 / end;
+ progress = (float)current * 100 / end;
} else
progress = 100;
if (flag_ignore_r_char) {
- PROGRESS_MSG("%-" PROGRESS_MAXLEN "s: [%3d %%]\n",
- msg, progress);
+ PROGRESS_MSG("%-" PROGRESS_MAXLEN "s: [%5.1f %%] %c\n",
+ msg, progress, spinner[lapse % 4]);
} else {
PROGRESS_MSG("\r");
- PROGRESS_MSG("%-" PROGRESS_MAXLEN "s: [%3d %%] ",
- msg, progress);
+ PROGRESS_MSG("%-" PROGRESS_MAXLEN "s: [%5.1f %%] %c",
+ msg, progress, spinner[lapse % 4]);
}
+ lapse++;
}
void