if (sargs == NULL) {
/* error in search arguments */
client_send_tagline(client, t_strconcat("NO ", error, NULL));
- } else if (imap_sort(client, charset, sargs, sorting)) {
+ } else if (imap_sort(client, charset, sargs, sorting) == 0) {
/* NOTE: syncing is allowed when returning UIDs */
if (client->cmd_uid)
client_sync_full_fast(client);
if (sargs == NULL) {
/* error in search arguments */
client_send_tagline(client, t_strconcat("NO ", error, NULL));
- } else if (imap_thread(client, charset, sargs, threading)) {
+ } else if (imap_thread(client, charset, sargs, threading) == 0) {
/* NOTE: syncing is allowed when returning UIDs */
if (client->cmd_uid)
client_sync_full_fast(client);
/* remove the common part from sort program, we already know input is
sorted that much so we don't have to worry about it. */
if (mailbox_search_get_sorting(client->mailbox, norm_prog) < 0)
- return FALSE;
+ return -1;
ctx->common_mask = mail_sort_get_common_mask(ctx->sort_program,
norm_prog, &count);
if (count > 0) {
wanted_fields, wanted_headers);
if (ctx->search_ctx == NULL) {
mailbox_transaction_rollback(ctx->t);
- return FALSE;
+ return -1;
}
ctx->box = client->mailbox;
mailbox_transaction_rollback(ctx->t);
- if (ctx->written || ret) {
+ if (ctx->written || ret == 0) {
str_append(ctx->str, "\r\n");
o_stream_send(client->output, str_data(ctx->str),
str_len(ctx->str));
MAIL_FETCH_DATE, wanted_headers);
if (ctx->search_ctx == NULL) {
mailbox_transaction_rollback(ctx->t);
- return FALSE;
+ return -1;
}
ctx->box = client->mailbox;
ret = mailbox_search_deinit(ctx->search_ctx);
mailbox_transaction_rollback(ctx->t);
mail_thread_deinit(ctx);
- return ret == 0;
+ return ret;
}
static void add_root(struct thread_context *ctx, struct node *node)