* 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: Carl Worth <cworth@cworth.org>
*/
notmuch_status_t status;
if (ctx->offset < 0) {
- ctx->offset += notmuch_query_count_threads (ctx->query);
+ unsigned count;
+ notmuch_status_t status;
+ status = notmuch_query_count_threads (ctx->query, &count);
+ if (print_status_query ("notmuch search", ctx->query, status))
+ return 1;
+
+ ctx->offset += count;
if (ctx->offset < 0)
ctx->offset = 0;
}
- status = notmuch_query_search_threads_st (ctx->query, &threads);
+ status = notmuch_query_search_threads (ctx->query, &threads);
if (print_status_query("notmuch search", ctx->query, status))
return 1;
const char *subject = notmuch_thread_get_subject (thread);
const char *thread_id = notmuch_thread_get_thread_id (thread);
int matched = notmuch_thread_get_matched_messages (thread);
+ int files = notmuch_thread_get_total_files (thread);
int total = notmuch_thread_get_total_messages (thread);
const char *relative_date = NULL;
notmuch_bool_t first_tag = TRUE;
if (format->is_text_printer) {
/* Special case for the text formatter */
- printf ("thread:%s %12s [%d/%d] %s; %s (",
+ printf ("thread:%s %12s ",
thread_id,
- relative_date,
+ relative_date);
+ if (total == files)
+ printf ("[%d/%d] %s; %s (",
+ matched,
+ total,
+ sanitize_string (ctx_quote, authors),
+ sanitize_string (ctx_quote, subject));
+ else
+ printf ("[%d/%d(%d)] %s; %s (",
matched,
total,
+ files,
sanitize_string (ctx_quote, authors),
sanitize_string (ctx_quote, subject));
+
} else { /* Structured Output */
format->map_key (format, "thread");
format->string (format, thread_id);
notmuch_status_t status;
if (ctx->offset < 0) {
- ctx->offset += notmuch_query_count_messages (ctx->query);
+ unsigned count;
+ notmuch_status_t status;
+ status = notmuch_query_count_messages (ctx->query, &count);
+ if (print_status_query ("notmuch search", ctx->query, status))
+ return 1;
+
+ ctx->offset += count;
if (ctx->offset < 0)
ctx->offset = 0;
}
- status = notmuch_query_search_messages_st (ctx->query, &messages);
+ status = notmuch_query_search_messages (ctx->query, &messages);
if (print_status_query ("notmuch search", ctx->query, status))
return 1;
tags = notmuch_database_get_all_tags (notmuch);
} else {
notmuch_status_t status;
- status = notmuch_query_search_messages_st (query, &messages);
+ status = notmuch_query_search_messages (query, &messages);
if (print_status_query ("notmuch search", query, status))
return 1;
if (ctx->exclude != NOTMUCH_EXCLUDE_FALSE) {
const char **search_exclude_tags;
size_t search_exclude_tags_length;
+ notmuch_status_t status;
search_exclude_tags = notmuch_config_get_search_exclude_tags
(config, &search_exclude_tags_length);
- for (i = 0; i < search_exclude_tags_length; i++)
- notmuch_query_add_tag_exclude (ctx->query, search_exclude_tags[i]);
+
+ for (i = 0; i < search_exclude_tags_length; i++) {
+ status = notmuch_query_add_tag_exclude (ctx->query, search_exclude_tags[i]);
+ if (status && status != NOTMUCH_STATUS_IGNORED) {
+ print_status_query ("notmuch search", ctx->query, status);
+ return EXIT_FAILURE;
+ }
+ }
+
notmuch_query_set_omit_excluded (ctx->query, ctx->exclude);
}