* [PATCH] shell: use skip_prefix() instead of starts_with()
@ 2019-11-26 15:00 René Scharfe
2019-11-26 15:56 ` Jeff King
0 siblings, 1 reply; 3+ messages in thread
From: René Scharfe @ 2019-11-26 15:00 UTC (permalink / raw)
To: Git Mailing List; +Cc: Junio C Hamano
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;
--
2.24.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] shell: use skip_prefix() instead of starts_with()
2019-11-26 15:00 [PATCH] shell: use skip_prefix() instead of starts_with() René Scharfe
@ 2019-11-26 15:56 ` Jeff King
2019-11-26 16:41 ` René Scharfe
0 siblings, 1 reply; 3+ messages in thread
From: Jeff King @ 2019-11-26 15:56 UTC (permalink / raw)
To: René Scharfe; +Cc: Git Mailing List, Junio C Hamano
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. This one is fine, because nobody else looks at "me" after
this (knowing you, I am pretty sure you checked that already, but I am
making a mental note to myself and others as we review these).
-Peff
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] shell: use skip_prefix() instead of starts_with()
2019-11-26 15:56 ` Jeff King
@ 2019-11-26 16:41 ` René Scharfe
0 siblings, 0 replies; 3+ messages in thread
From: René Scharfe @ 2019-11-26 16:41 UTC (permalink / raw)
To: Jeff King; +Cc: Git Mailing List, Junio C Hamano
Am 26.11.19 um 16:56 schrieb Jeff King:
> 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
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-11-26 16:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-26 15:00 [PATCH] shell: use skip_prefix() instead of starts_with() René Scharfe
2019-11-26 15:56 ` Jeff King
2019-11-26 16:41 ` René Scharfe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).