Now that notmuch_query_search_threads can return NULL, (for example,
due to a Xapian exception), we need to handle that case (rather than
just segfault). It's simple enough to just return a non-zero exit
code.
talloc_free (ctx_quote);
}
talloc_free (ctx_quote);
}
do_search_threads (const void *ctx,
const search_format_t *format,
notmuch_query_t *query,
do_search_threads (const void *ctx,
const search_format_t *format,
notmuch_query_t *query,
fputs (format->results_start, stdout);
fputs (format->results_start, stdout);
- for (threads = notmuch_query_search_threads (query);
+ threads = notmuch_query_search_threads (query);
+ if (threads == NULL)
+ return 1;
+
+ for (;
notmuch_threads_valid (threads);
notmuch_threads_move_to_next (threads))
{
notmuch_threads_valid (threads);
notmuch_threads_move_to_next (threads))
{
}
fputs (format->results_end, stdout);
}
fputs (format->results_end, stdout);
char *opt;
notmuch_sort_t sort = NOTMUCH_SORT_NEWEST_FIRST;
const search_format_t *format = &format_text;
char *opt;
notmuch_sort_t sort = NOTMUCH_SORT_NEWEST_FIRST;
const search_format_t *format = &format_text;
for (i = 0; i < argc && argv[i][0] == '-'; i++) {
if (strcmp (argv[i], "--") == 0) {
for (i = 0; i < argc && argv[i][0] == '-'; i++) {
if (strcmp (argv[i], "--") == 0) {
notmuch_query_set_sort (query, sort);
notmuch_query_set_sort (query, sort);
- do_search_threads (ctx, format, query, sort);
+ ret = do_search_threads (ctx, format, query, sort);
notmuch_query_destroy (query);
notmuch_database_close (notmuch);
notmuch_query_destroy (query);
notmuch_database_close (notmuch);