Subject: Re: [PATCH] imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()

From: Junio C Hamano <[email-masked]>
Date: Tue, 02 Sep 2014 12:23:08 -0700

René Scharfe <[email-masked]> writes:

> Use starts_with() instead of memcmp() to check if NUL-terminated
> strings match prefixes.  This gets rid of some magic string length
> constants.
>
> Signed-off-by: Rene Scharfe <[email-masked]>
> ---
>  imap-send.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/imap-send.c b/imap-send.c
> index 524fbab..b079a0d 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -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;

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)?