diff --git a/src/mu-cmd.c b/src/mu-cmd.c index f160bc61..1f1b1f5a 100644 --- a/src/mu-cmd.c +++ b/src/mu-cmd.c @@ -156,7 +156,7 @@ print_rows (MuQueryXapian *xapian, const gchar *query, MuConfigOptions *opts) iter = mu_query_xapian_run (xapian, query, sortfield, !opts->descending, - 10000); + 0); if (!iter) { g_printerr ("error: running query failed\n"); return FALSE; @@ -384,7 +384,7 @@ index_msg_cb (MuIndexStats* stats, void *user_data) printf ("\b"); len = snprintf (output, sizeof(output), - "%c indexing mail; processed: %d; " + "%c processing mail; processed: %d; " "updated/new: %d, cleaned-up: %d", kars[i % 4], stats->_processed, stats->_updated, stats->_cleaned_up); @@ -394,6 +394,37 @@ index_msg_cb (MuIndexStats* stats, void *user_data) return MU_OK; } +static gboolean +cmd_cleanup (MuConfigOptions *opts) +{ + int rv; + MuIndex *midx; + MuIndexStats stats; + + if (!check_index_params (opts)) + return FALSE; + + midx = mu_index_new (opts->xpath); + if (!midx) { + g_warning ("Cleanup failed"); + return FALSE; + } + + g_message ("Cleaning up removed messages from %s", + opts->xpath); + + mu_index_stats_clear (&stats); + rv = mu_index_cleanup (midx, &stats, + opts->quiet ? NULL : index_msg_cb, + NULL); + mu_index_destroy (midx); + + if (!opts->quiet) + g_print ("\n"); + + return rv == MU_OK ? TRUE : FALSE; +} + static gboolean database_version_check_and_update (MuConfigOptions *opts) @@ -478,31 +509,6 @@ cmd_index (MuConfigOptions *opts) } -MuResult -cleanup_cb (MuIndexStats *stats, void *user_data) -{ - char *kars="-\\|/"; - char output[100]; - - static int i = 0; - static int len = 0; - - while (len --> 0) - printf ("\b"); - - len = snprintf (output, sizeof(output), - "%c mu is cleaning up the message database; " - "processed: %d; cleaned-up: %d", - kars[i % 4], stats->_processed, stats->_cleaned_up); - g_print ("%s", output); - ++i; - - return MU_OK; -} - - - - static int cmd_mkdir (MuConfigOptions *opts) { @@ -529,60 +535,6 @@ cmd_mkdir (MuConfigOptions *opts) return TRUE; } - - -#if 0 /* currently, turned off */ - -static gboolean -cmd_help (MuConfigOptions *opts) -{ - /* FIXME: get context-sensitive help */ - _show_version (); - return _show_usage (FALSE); -} - -static gboolean -cmd_cleanup (MuConfigOptions *opts) -{ - int rv; - - if (!_check_index_params (opts)) - return FALSE; - - mu_msg_gmime_init (); - { - MuIndex *midx; - MuIndexStats stats; - - mu_index_stats_clear (&stats); - - midx = mu_index_new (opts->xpath); - if (!midx) { - g_warning ("Cleanup failed"); - return FALSE; - } - - g_message ("Cleaning up removed messages from %s", - opts->xpath); - mu_index_cleanup (midx, &stats, - opts->quiet ? NULL :_cleanup_cb, - NULL); - mu_index_destroy (midx); - - if (!opts->quiet) { - _cleanup_cb (&stats, NULL); - g_print ("\n"); - } - } - - mu_msg_gmime_uninit (); - - return rv == MU_OK ? TRUE : FALSE; -} -#endif /* 0 */ - - - static gboolean show_usage (gboolean noerror) { @@ -617,6 +569,16 @@ show_version (void) } +static gboolean +cmd_help (MuConfigOptions *opts) +{ + /* FIXME: get context-sensitive help */ + show_version (); + return show_usage (FALSE); +} + + + gboolean mu_cmd_execute (MuConfigOptions *opts) { @@ -635,9 +597,8 @@ mu_cmd_execute (MuConfigOptions *opts) case MU_CMD_INDEX: return cmd_index (opts); case MU_CMD_FIND: return cmd_find (opts); case MU_CMD_MKDIR: return cmd_mkdir (opts); - - /* case MU_CMD_CLEANUP: return cmd_cleanup (opts); */ - /* case MU_CMD_HELP: return cmd_help (opts); */ + case MU_CMD_CLEANUP: return cmd_cleanup (opts); + case MU_CMD_HELP: return cmd_help (opts); case MU_CMD_UNKNOWN: return show_usage (FALSE); default: diff --git a/src/mu-cmd.h b/src/mu-cmd.h index 3dc529d8..48e1f516 100644 --- a/src/mu-cmd.h +++ b/src/mu-cmd.h @@ -31,9 +31,8 @@ enum _MuCmd { MU_CMD_FIND, MU_CMD_CLEANUP, MU_CMD_MKDIR, - /* not currently present */ - /* MU_CMD_LINK, */ - /* MU_CMD_HELP, */ + MU_CMD_HELP, + MU_CMD_UNKNOWN }; typedef enum _MuCmd MuCmd;