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).
This commit is contained in:
Carl Worth 2010-04-09 16:40:31 -07:00
parent b15a03fafc
commit e100871981
2 changed files with 8 additions and 3 deletions

View file

@ -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.

View file

@ -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->