Thread (3 messages) 3 messages, 2 authors, 2019-11-26

Re: [PATCH] shell: use skip_prefix() instead of starts_with()

From: René Scharfe <hidden>
Date: 2019-11-26 16:41:17
Subsystem: the rest · Maintainer: Linus Torvalds

Am 26.11.19 um 16:56 schrieb Jeff King:
On Tue, Nov 26, 2019 at 04:00:43PM +0100, René Scharfe wrote:
quoted
Get rid of a magic number by using skip_prefix() instead of
starts_with().

Signed-off-by: René Scharfe <redacted>
---
 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


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help