From cf0ba86d177a783e2d9b2d3433727f884b4c3ef8 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Fri, 29 Jan 2010 00:35:05 +0200 Subject: [PATCH] * WIP: mu view --- TODO | 1 - src/mu-cmd.c | 47 +++++++++++++++++++++++++++-------------------- src/mu-cmd.h | 1 + 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/TODO b/TODO index fa7ee0a3..ce78a683 100644 --- a/TODO +++ b/TODO @@ -39,7 +39,6 @@ - [X] fix the batch stuff - [ ] mu help (?) - [ ] mu view - - [ ] add symlink-following option for index - [ ] test suite - [ ] auto clean log file - [X] configure error for missing ->dt_dtype diff --git a/src/mu-cmd.c b/src/mu-cmd.c index 3f77bb08..8f6ef259 100644 --- a/src/mu-cmd.c +++ b/src/mu-cmd.c @@ -36,29 +36,28 @@ #include "mu-util.h" #include "mu-util-xapian.h" + static MuCmd cmd_from_string (const char* cmd) { - if (!cmd) - return MU_CMD_UNKNOWN; + int i; + typedef struct { + const gchar* _name; + MuCmd _cmd; + } Cmd; - if (strcmp (cmd, "index") == 0) - return MU_CMD_INDEX; + Cmd cmd_map[]= { + { "index", MU_CMD_INDEX }, + { "find", MU_CMD_FIND }, + { "cleanup", MU_CMD_CLEANUP }, + { "mkdir", MU_CMD_MKDIR }, + { "view", MU_CMD_VIEW }, + { "index", MU_CMD_INDEX }}; + + for (i = 0; i != G_N_ELEMENTS(cmd_map); ++i) + if (strcmp (cmd, cmd_map[i]._name) == 0) + return cmd_map[i]._cmd; - /* support some synonyms... */ - if (strcmp (cmd, "find") == 0) - return MU_CMD_FIND; - - if (strcmp (cmd, "cleanup") == 0) - return MU_CMD_CLEANUP; - - if (strcmp (cmd, "mkdir") == 0) - return MU_CMD_MKDIR; - - /* if ((strcmp (cmd, "help") == 0) || */ - /* (strcmp (cmd, "info") == 0)) */ - /* return MU_CMD_HELP; */ - return MU_CMD_UNKNOWN; } @@ -72,7 +71,6 @@ update_warning (void) - static gboolean print_query (MuQueryXapian *xapian, const gchar *query) { @@ -495,6 +493,13 @@ database_version_check_and_update (MuConfigOptions *opts) return FALSE; } +static gboolean +cmd_view (MuConfigOptions *opts) +{ + return TRUE; /* FIXME */ +} + + static gboolean cmd_index (MuConfigOptions *opts) @@ -647,7 +652,9 @@ mu_cmd_execute (MuConfigOptions *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_VIEW: return cmd_view (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 48e1f516..576aa1e2 100644 --- a/src/mu-cmd.h +++ b/src/mu-cmd.h @@ -31,6 +31,7 @@ enum _MuCmd { MU_CMD_FIND, MU_CMD_CLEANUP, MU_CMD_MKDIR, + MU_CMD_VIEW, MU_CMD_HELP, MU_CMD_UNKNOWN