All the command -> reason string conversions now go through this function.
return ret < 0;
ctx = imap_fetch_alloc(client, cmd->pool,
- t_strdup_printf("%s %s", cmd->name, cmd->args));
+ imap_client_command_get_reason(cmd));
if (!fetch_parse_args(ctx, cmd, &args[1], &next_arg) ||
(imap_arg_get_list(next_arg, &list_arg) &&
return 0;
}
+const char *imap_client_command_get_reason(struct client_command_context *cmd)
+{
+ return cmd->args[0] == '\0' ? cmd->name :
+ t_strdup_printf("%s %s", cmd->name, cmd->args);
+}
+
void imap_transaction_set_cmd_reason(struct mailbox_transaction_context *trans,
struct client_command_context *cmd)
{
- mailbox_transaction_set_reason(trans, cmd->args[0] == '\0' ? cmd->name :
- t_strdup_printf("%s %s", cmd->name, cmd->args));
+ mailbox_transaction_set_reason(trans, imap_client_command_get_reason(cmd));
}
const char *
int client_open_save_dest_box(struct client_command_context *cmd,
const char *name, struct mailbox **destbox_r);
+/* Returns string based in IMAP command name and parameters. */
+const char *imap_client_command_get_reason(struct client_command_context *cmd);
/* Set transaction's reason to the IMAP command name and parameters. */
void imap_transaction_set_cmd_reason(struct mailbox_transaction_context *trans,
struct client_command_context *cmd);