}
}
-static void
+static bool
client_dict_transaction_send_begin(struct client_dict_transaction_context *ctx)
{
struct client_dict *dict = (struct client_dict *)ctx->ctx.dict;
cmd = client_dict_cmd_init(dict, query);
cmd->no_replies = TRUE;
cmd->retry_errors = TRUE;
- if (!client_dict_cmd_send(dict, &cmd, &error))
+ if (!client_dict_cmd_send(dict, &cmd, &error)) {
ctx->error = i_strdup(error);
+ return FALSE;
+ }
+ return TRUE;
}
static void
if (ctx->error != NULL)
return;
- if (!ctx->sent_begin)
- client_dict_transaction_send_begin(ctx);
+ if (!ctx->sent_begin) {
+ if (!client_dict_transaction_send_begin(ctx))
+ return;
+ }
cmd = client_dict_cmd_init(dict, query);
cmd->no_replies = TRUE;