imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
PATCH 1/1 imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
Use starts_with() instead of memcmp() to check if NUL-terminated strings match prefixes. This gets rid of some magic string length constants.
--- imap-send.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
imap-send.c +6 -3
@@ -524,7 +524,7 @@ static struct imap_cmd *v_issue_imap_cmd(struct imap_store *ctx,if (Verbose) {if (imap->num_in_progress)printf ("(%d in progress) " , imap->num_in_progress); -if (memcmp (cmd->cmd,"LOGIN" ,5 )) +if (!starts_with (cmd->cmd,"LOGIN" ))printf (">>> %s" , buf);else printf (">>> %d LOGIN <user> <pass>\n" , cmd->tag);
@@ -802,7 +802,10 @@ static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) resp =DRV_OK ; else {if (!strcmp ("NO" , arg)) { -if (cmdp->cb.create && cmd && (cmdp->cb.trycreate || !memcmp (cmd,"[TRYCREATE]" ,11 ))) {/* SELECT, APPEND or UID COPY */ +if (cmdp->cb.create && cmd && + (cmdp->cb.trycreate || +starts_with (cmd,"[TRYCREATE]" ))) { +/* SELECT, APPEND or UID COPY */ p =strchr (cmdp->cmd,'"' );if (!issue_imap_cmd (ctx,NULL ,"CREATE \"%.*s\"" , (int )(strchr (p +1 ,'"' ) - p +1 ), p)) { resp =RESP_BAD ;
@@ -827,7 +830,7 @@ static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) }else /*if (!strcmp("BAD", arg))*/ resp =RESP_BAD ;fprintf (stderr,"IMAP command '%s' returned response (%s) - %s\n" , -memcmp (cmdp->cmd,"LOGIN" ,5 ) ? + !starts_with (cmdp->cmd,"LOGIN" ) ? cmdp->cmd :"LOGIN <user> <pass>" , arg, cmd ? cmd :"" ); }
Signature · 1 line
2.1.0
Quoted 15 lines · René Scharfe
Use
starts_with()instead ofmemcmp()to check if NUL-terminated strings match prefixes. This gets rid of some magic string length constants.Signed-off-by Rene Scharfe <[email protected]>--- imap-send.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)imap-send.c +0
-0@@ -802,7 +802,10 @@ static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) resp =DRV_OK ;
imap-send.c static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) · line 811
Quoted 10 lines
imap-send.c +4
-1else {if (!strcmp ("NO" , arg)) { -if (cmdp->cb.create && cmd && (cmdp->cb.trycreate || !memcmp (cmd,"[TRYCREATE]" ,11 ))) {/* SELECT, APPEND or UID COPY */ +if (cmdp->cb.create && cmd && + (cmdp->cb.trycreate || +starts_with (cmd,"[TRYCREATE]" ))) { +/* SELECT, APPEND or UID COPY */ p =strchr (cmdp->cmd,'"' );if (!issue_imap_cmd (ctx,NULL ,"CREATE \"%.*s\"" , (int )(strchr (p +1 ,'"' ) - p +1 ), p)) { resp =RESP_BAD ;
Do we want this hunk, given that it will disappear with the tf/imap-send-create topic at e0d8e308 (imap-send: create target mailbox if it is missing, 2014-08-01)?
Am 02.09.2014 um 21:23 schrieb Junio C Hamano:
Quoted 23 lines
Quoted 21 lines · René Scharfe
Use
starts_with()instead ofmemcmp()to check if NUL-terminated strings match prefixes. This gets rid of some magic string length constants.Signed-off-by Rene Scharfe <[email protected]>--- imap-send.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)imap-send.c +3
-1@@ -802,7 +802,10 @@ static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) resp =DRV_OK ; else {if (!strcmp ("NO" , arg)) { -if (cmdp->cb.create && cmd && (cmdp->cb.trycreate || !memcmp (cmd,"[TRYCREATE]" ,11 ))) {/* SELECT, APPEND or UID COPY */ +if (cmdp->cb.create && cmd && + (cmdp->cb.trycreate || +starts_with (cmd,"[TRYCREATE]" ))) {
Quoted 8 lines
imap-send.c static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) · line 811
Quoted 4 lines
imap-send.c +1
-0+/* SELECT, APPEND or UID COPY */ p =strchr (cmdp->cmd,'"' );if (!issue_imap_cmd (ctx,NULL ,"CREATE \"%.*s\"" , (int )(strchr (p +1 ,'"' ) - p +1 ), p)) { resp =RESP_BAD ;Do we want this hunk, given that it will disappear with the tf/imap-send-create topic at
e0d8e308(imap-send: create target mailbox if it is missing, 2014-08-01)?
In that case it's unnecessary; apparently I overlooked the conflicting hunk while preparing the patch for sending.
René