From 4fec4b4100ad4d2d5f2277cde4dee135498dd0a7 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Sat, 30 Apr 2011 10:08:58 +0300 Subject: [PATCH] * mu-cmd-index.c: optimize printing of progress information --- src/mu-cmd-index.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/mu-cmd-index.c b/src/mu-cmd-index.c index 90a84e2d..63683373 100644 --- a/src/mu-cmd-index.c +++ b/src/mu-cmd-index.c @@ -134,16 +134,24 @@ index_msg_silent_cb (MuIndexStats* stats, void *user_data) static void print_stats (MuIndexStats* stats, gboolean clear) { - char *kars="-\\|/"; + const char *kars="-\\|/"; char output[120]; static int i = 0; static unsigned len = 0; - if (clear) - while (len --> 0) /* note the --> operator :-) */ - g_print ("\b"); - + if (clear) { + /* optimization, this function showed up in profiles */ + static const char *backspace = + "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b" + "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b" + "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b" + "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"; + //backspace[len] = '\0'; + fputs (backspace, stdout); + //backspace[len] = '\b'; + } + len = (unsigned) snprintf (output, sizeof(output), "%c processing mail; processed: %u; " "updated/new: %u, cleaned-up: %u", @@ -151,7 +159,7 @@ print_stats (MuIndexStats* stats, gboolean clear) (unsigned)stats->_processed, (unsigned)stats->_updated, (unsigned)stats->_cleaned_up); - g_print ("%s", output); + fputs (output, stdout); }