diff options
author | Carl Worth <cworth@cworth.org> | 2009-10-25 16:03:45 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-10-25 16:03:45 -0700 |
commit | 3bd4a2eaaa81380fdf8c6130cf636dacefb926fe (patch) | |
tree | 1f3e9c2821bac506b52f00a4b0d3da83a8f787fb | |
parent | c7482b4dce114b1c09cbac2f4ef6d0defdb23258 (diff) |
Add -Wswitch-enum and fix warnings.
Having to enumerate all the enum values at every switch is annoying,
but this warning actually found a bug, (missing support for
NOTMUCH_STATUS_OUT_OF_MEMORY in notmuch_status_to_string).
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | database.cc | 2 | ||||
-rw-r--r-- | notmuch.c | 8 |
3 files changed, 11 insertions, 2 deletions
@@ -1,6 +1,7 @@ PROGS=notmuch -CXXWARNINGS_FLAGS=-Wall -Wextra -Wmissing-declarations -Wwrite-strings +CXXWARNINGS_FLAGS=-Wall -Wextra -Wmissing-declarations -Wwrite-strings \ +-Wswitch-enum CWARNINGS_FLAGS=$(CXXWARNINGS_FLAGS) CDEPENDS_FLAGS=`pkg-config --cflags glib-2.0 talloc` diff --git a/database.cc b/database.cc index e1ea324d..b1b95e9d 100644 --- a/database.cc +++ b/database.cc @@ -152,6 +152,8 @@ notmuch_status_to_string (notmuch_status_t status) switch (status) { case NOTMUCH_STATUS_SUCCESS: return "No error occurred"; + case NOTMUCH_STATUS_OUT_OF_MEMORY: + return "Out of memory"; case NOTMUCH_STATUS_XAPIAN_EXCEPTION: return "A Xapian exception occurred"; case NOTMUCH_STATUS_FILE_ERROR: @@ -267,10 +267,16 @@ add_files_recursive (notmuch_database_t *notmuch, break; /* Fatal issues. Don't process anymore. */ case NOTMUCH_STATUS_XAPIAN_EXCEPTION: - fprintf (stderr, "A Xapian error was encountered. Halting processing.\n"); + case NOTMUCH_STATUS_OUT_OF_MEMORY: + fprintf (stderr, "Error: %s. Halting processing.\n", + notmuch_status_to_string (status)); ret = status; goto DONE; default: + case NOTMUCH_STATUS_FILE_ERROR: + case NOTMUCH_STATUS_NULL_POINTER: + case NOTMUCH_STATUS_TAG_TOO_LONG: + case NOTMUCH_STATUS_LAST_STATUS: INTERNAL_ERROR ("add_message returned unexpected value: %d", status); goto DONE; } |