All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: git@vger.kernel.org
Subject: Re: [PATCH 2/2] convert trivial uses of strncmp() to skip_prefix()
Date: Sat, 7 Jan 2023 08:33:14 -0500	[thread overview]
Message-ID: <Y7l0mq6khtlgxGca@coredump.intra.peff.net> (raw)
In-Reply-To: <Y7lzFG9gyDrOE4Xt@coredump.intra.peff.net>

On Sat, Jan 07, 2023 at 08:26:45AM -0500, Jeff King wrote:

> Note in the case in ws.c that to get rid of the magic number "9"
> completely, we also switch out "len" for recomputing the pointer
> difference. These are equivalent because "len" is always "ep - string".

By the way, one thing I noticed about this parse_whitespace_rule()
function is that it's very loose about its matching. It does:

        for (i = 0; i < ARRAY_SIZE(whitespace_rule_names); i++) {
                if (strncmp(whitespace_rule_names[i].rule_name,
                            string, len))
                        continue;
		...we matched...
		break;
	}

So it will prefix-match any of the options, even if there are
ambiguities. E.g.:

  git -c core.whitespace=-t show

will turn off "trailing-space", even though it would also match
"tab-in-indent". It would be easy enough to fix it to require the whole
name, but I wasn't sure if this prefix-matching was supposed to be a
feature (it doesn't seem to be documented anywhere, though).

-Peff

  reply	other threads:[~2023-01-07 13:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-07 13:24 [PATCH 0/2] some minor starts_with()/skip_prefix() cleanups Jeff King
2023-01-07 13:26 ` [PATCH 1/2] convert trivial uses of strncmp() to starts_with() Jeff King
2023-01-07 13:26 ` [PATCH 2/2] convert trivial uses of strncmp() to skip_prefix() Jeff King
2023-01-07 13:33   ` Jeff King [this message]
2023-01-07 21:29     ` René Scharfe
2023-01-11 18:38       ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y7l0mq6khtlgxGca@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.