]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-imap-client: Make command tag counter externally accessible
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 10 Apr 2017 13:18:46 +0000 (16:18 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 10 Apr 2017 15:00:13 +0000 (18:00 +0300)
This allows unit tests to reset it.

src/lib-imap-client/imapc-client-private.h
src/lib-imap-client/imapc-client.c
src/lib-imap-client/imapc-connection.c

index ce809f0bc41a2f80bb54de1cb68beb9bcd9e752f..96e780a5fecfb21792b87480cdaa31328b777c77 100644 (file)
@@ -49,6 +49,8 @@ struct imapc_client_mailbox {
        bool closing;
 };
 
+extern unsigned int imapc_client_cmd_tag_counter;
+
 void imapc_client_ref(struct imapc_client *client);
 void imapc_client_unref(struct imapc_client **client);
 
index db690e6f331f367fee46eb40db66c77174ebb268..602eadae57a48c9f07fcc7f1ff3930f46b2f1bd4 100644 (file)
@@ -31,6 +31,8 @@ const struct imapc_capability_name imapc_capability_names[] = {
        { NULL, 0 }
 };
 
+unsigned int imapc_client_cmd_tag_counter = 0;
+
 static void
 default_untagged_callback(const struct imapc_untagged_reply *reply ATTR_UNUSED,
                          void *context ATTR_UNUSED)
index 5c919422a14c6f8455c9055145200a5b21d9cba4..37fbf0748ddc27878d401992262b97709b58985d 100644 (file)
@@ -1873,7 +1873,6 @@ void imapc_connection_input_pending(struct imapc_connection *conn)
 static struct imapc_command *
 imapc_command_begin(imapc_command_callback_t *callback, void *context)
 {
-       static unsigned int cmd_tag_counter = 0;
        struct imapc_command *cmd;
        pool_t pool;
 
@@ -1885,9 +1884,11 @@ imapc_command_begin(imapc_command_callback_t *callback, void *context)
        cmd->callback = callback;
        cmd->context = context;
 
-       if (++cmd_tag_counter == 0)
-               cmd_tag_counter++;
-       cmd->tag = cmd_tag_counter;
+       /* use a globally unique tag counter so looking at rawlogs is
+          somewhat easier */
+       if (++imapc_client_cmd_tag_counter == 0)
+               imapc_client_cmd_tag_counter++;
+       cmd->tag = imapc_client_cmd_tag_counter;
        return cmd;
 }