From e100871981daeb3bb9a6c8718c95e6044953b57f Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Fri, 9 Apr 2010 16:40:31 -0700 Subject: [PATCH] lib: Handle "*" as a query string to match all messages. This seems like a generally useful thing to support, (but the previous support through an empty string was not convenient for some users, (such as the command-line client). --- lib/notmuch.h | 3 ++- lib/query.cc | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/notmuch.h b/lib/notmuch.h index 88da0789..42682854 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -325,7 +325,8 @@ notmuch_database_get_all_tags (notmuch_database_t *db); * * http://xapian.org/docs/queryparser.html * - * As a special case, passing a length-zero string, (that is ""), will + * As a special case, passing either a length-zero string, (that is ""), + * or a string consisting of a single asterisk (that is "*"), will * result in a query that returns all messages in the database. * * See notmuch_query_set_sort for controlling the order of results. diff --git a/lib/query.cc b/lib/query.cc index 9266d35f..10f8dc8a 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -125,7 +125,9 @@ notmuch_query_search_messages (notmuch_query_t *query) Xapian::QueryParser::FLAG_WILDCARD | Xapian::QueryParser::FLAG_PURE_NOT); - if (strcmp (query_string, "") == 0) { + if (strcmp (query_string, "") == 0 || + strcmp (query_string, "*") == 0) + { final_query = mail_query; } else { string_query = notmuch->query_parser-> @@ -333,7 +335,9 @@ notmuch_query_count_messages (notmuch_query_t *query) Xapian::QueryParser::FLAG_WILDCARD | Xapian::QueryParser::FLAG_PURE_NOT); - if (strcmp (query_string, "") == 0) { + if (strcmp (query_string, "") == 0 || + strcmp (query_string, "*") == 0) + { final_query = mail_query; } else { string_query = notmuch->query_parser->