X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-count.c;h=50b0c193f04625c794b9ab9287ab6bdd9c4f29da;hp=be3e2365a052ad5c770b7a898630f7e48bab8b85;hb=85c830405886207196aedbd0a2b757b227ba769d;hpb=81bd41c7cb59a8d70932e6bdbee6e1e2cde5477f diff --git a/notmuch-count.c b/notmuch-count.c index be3e2365..50b0c193 100644 --- a/notmuch-count.c +++ b/notmuch-count.c @@ -14,7 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/ . + * along with this program. If not, see https://www.gnu.org/licenses/ . * * Author: Keith Packard */ @@ -43,7 +43,7 @@ count_files (notmuch_query_t *query) notmuch_status_t status; int count = 0; - status = notmuch_query_search_messages_st (query, &messages); + status = notmuch_query_search_messages (query, &messages); if (print_status_query ("notmuch count", query, status)) return -1; @@ -75,9 +75,11 @@ print_count (notmuch_database_t *notmuch, const char *query_str, notmuch_query_t *query; size_t i; int count; + unsigned int ucount; unsigned long revision; const char *uuid; int ret = 0; + notmuch_status_t status; query = notmuch_query_create (notmuch, query_str); if (query == NULL) { @@ -85,20 +87,31 @@ print_count (notmuch_database_t *notmuch, const char *query_str, return -1; } - for (i = 0; i < exclude_tags_length; i++) - notmuch_query_add_tag_exclude (query, exclude_tags[i]); + for (i = 0; i < exclude_tags_length; i++) { + status = notmuch_query_add_tag_exclude (query, exclude_tags[i]); + if (status && status != NOTMUCH_STATUS_IGNORED) { + print_status_query ("notmuch count", query, status); + return -1; + } + } switch (output) { case OUTPUT_MESSAGES: - printf ("%u", notmuch_query_count_messages (query)); + status = notmuch_query_count_messages (query, &ucount); + if (print_status_query ("notmuch count", query, status)) + return -1; + printf ("%u", ucount); break; case OUTPUT_THREADS: - printf ("%u", notmuch_query_count_threads (query)); + status = notmuch_query_count_threads (query, &ucount); + if (print_status_query ("notmuch count", query, status)) + return -1; + printf ("%u", ucount); break; case OUTPUT_FILES: count = count_files (query); if (count >= 0) { - printf ("%u", count); + printf ("%d", count); } else { ret = -1; goto DONE;