# HG changeset patch # User Timo Sirainen # Date 1491309480 -10800 # Node ID 5511ffac2ca44e795be454b06a9e6b41c513480f # Parent 22c5f005625a37a2b279322fa019979103111c80 imap: Add imap_client_command_get_reason() All the command -> reason string conversions now go through this function. diff -r 22c5f005625a -r 5511ffac2ca4 src/imap/cmd-fetch.c --- a/src/imap/cmd-fetch.c Tue Apr 04 13:28:44 2017 +0300 +++ b/src/imap/cmd-fetch.c Tue Apr 04 15:38:00 2017 +0300 @@ -310,7 +310,7 @@ 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) && diff -r 22c5f005625a -r 5511ffac2ca4 src/imap/imap-commands-util.c --- a/src/imap/imap-commands-util.c Tue Apr 04 13:28:44 2017 +0300 +++ b/src/imap/imap-commands-util.c Tue Apr 04 15:38:00 2017 +0300 @@ -132,11 +132,16 @@ 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 * diff -r 22c5f005625a -r 5511ffac2ca4 src/imap/imap-commands-util.h --- a/src/imap/imap-commands-util.h Tue Apr 04 13:28:44 2017 +0300 +++ b/src/imap/imap-commands-util.h Tue Apr 04 15:38:00 2017 +0300 @@ -27,6 +27,8 @@ 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);