* [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).