isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit abd31aad6124471185143ae56b9f5546977258ac
parent 4ae0159132474a4bfa2ed5693b44aa25ac37da62
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Sun, 19 Jun 2022 12:36:47 +0200

simplify assembly of IMAP APPEND commands

treat the date string the same as the flag string.

amends eb1f1076.

Diffstat:
Msrc/drv_imap.c | 22++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/drv_imap.c b/src/drv_imap.c @@ -3233,6 +3233,14 @@ imap_store_msg( store_t *gctx, msg_data_t *data, int to_trash, flagstr[d++] = ' '; } flagstr[d] = 0; + if (data->date) { +DIAG_PUSH +DIAG_DISABLE("-Wformat") // configure ensures that %z actually works. + strftime( datestr, sizeof(datestr), "\"%d-%b-%Y %H:%M:%S %z\" ", localtime( &data->date ) ); +DIAG_POP + } else { + datestr[0] = 0; + } INIT_IMAP_CMD(imap_cmd_out_uid_t, cmd, cb, aux) ctx->buffer_mem += data->len; @@ -3255,18 +3263,8 @@ imap_store_msg( store_t *gctx, msg_data_t *data, int to_trash, return; } } - if (data->date) { - /* configure ensures that %z actually works. */ -DIAG_PUSH -DIAG_DISABLE("-Wformat") - strftime( datestr, sizeof(datestr), "%d-%b-%Y %H:%M:%S %z", localtime( &data->date ) ); -DIAG_POP - imap_exec( ctx, &cmd->gen, imap_store_msg_p2, - "APPEND \"%\\s\" %s\"%\\s\" ", buf, flagstr, datestr ); - } else { - imap_exec( ctx, &cmd->gen, imap_store_msg_p2, - "APPEND \"%\\s\" %s", buf, flagstr ); - } + imap_exec( ctx, &cmd->gen, imap_store_msg_p2, + "APPEND \"%\\s\" %s%s", buf, flagstr, datestr ); free( buf ); }