Re: [PATCH] shell: use skip_prefix() instead of starts_with()
- From
René Scharfe <l.s.r@web.de>
- Date
- Nov 26, 2019, 16:41 UTC
- Message-ID
- <baf0aabe-f94e-852a-7c60-0c6e772fc437@web.de>
- In-Reply-To
- <20191126155647.GA25729@sigill.intra.peff.net>
Am 26.11.19 um 16:56 schrieb Jeff King:
Show 30 quoted lines
> On Tue, Nov 26, 2019 at 04:00:43PM +0100, René Scharfe wrote:
>
>> Get rid of a magic number by using skip_prefix() instead of
>> starts_with().
>>
>> Signed-off-by: René Scharfe <l.s.r@web.de>
>> ---
>> shell.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/shell.c b/shell.c
>> index 40084a3013..54cca7439d 100644
>> --- a/shell.c
>> +++ b/shell.c
>> @@ -16,10 +16,10 @@ static int do_generic_cmd(const char *me, char *arg)
>> setup_path();
>> if (!arg || !(arg = sq_dequote(arg)) || *arg == '-')
>> die("bad argument");
>> - if (!starts_with(me, "git-"))
>> + if (!skip_prefix(me, "git-", &me))
>> die("bad command");
>>
>> - my_argv[0] = me + 4;
>> + my_argv[0] = me;
>> my_argv[1] = arg;
>> my_argv[2] = NULL;
>
> The context makes this look obviously correct, but one thing to watch
> out for in these skip_prefix() conversions is that the value of "me" is
> now mutated.Ah, the one time I didn't use --function-context.. It would have looked like this:
--- shell.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/shell.c b/shell.c index 40084a3013..54cca7439d 100644 --- a/shell.c +++ b/shell.c @@ -12,16 +12,16 @@ static int do_generic_cmd(const char *me, char *arg) { const char *my_argv[4]; setup_path(); if (!arg || !(arg = sq_dequote(arg)) || *arg == '-') die("bad argument"); - if (!starts_with(me, "git-")) + if (!skip_prefix(me, "git-", &me)) die("bad command"); - my_argv[0] = me + 4; + my_argv[0] = me; my_argv[1] = arg; my_argv[2] = NULL; return execv_git_cmd(my_argv); } -- 2.24.0