git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] revision.c: use skip_prefix() in handle_revision_pseudo_opt()

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Jun 2, 2017, 19:10 UTC
Message-ID
<20170602191010.16834-4-szeder.dev@gmail.com>
In-Reply-To
<20170602191010.16834-1-szeder.dev@gmail.com>
Instead of starts_with() and a bunch of magic numbers.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 revision.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/revision.c b/revision.c
index 2b64b7e0e..ab0279572 100644
--- a/revision.c
+++ b/revision.c
@@ -2142,20 +2142,20 @@ static int handle_revision_pseudo_opt(const char *submodule,
 	} else if ((argcount = parse_long_opt("exclude", argv, &optarg))) {
 		add_ref_exclusion(&revs->ref_excludes, optarg);
 		return argcount;
-	} else if (starts_with(arg, "--branches=")) {
+	} else if (skip_prefix(arg, "--branches=", &optarg)) {
 		struct all_refs_cb cb;
 		init_all_refs_cb(&cb, revs, *flags);
-		for_each_glob_ref_in(handle_one_ref, arg + 11, "refs/heads/", &cb);
+		for_each_glob_ref_in(handle_one_ref, optarg, "refs/heads/", &cb);
 		clear_ref_exclusion(&revs->ref_excludes);
-	} else if (starts_with(arg, "--tags=")) {
+	} else if (skip_prefix(arg, "--tags=", &optarg)) {
 		struct all_refs_cb cb;
 		init_all_refs_cb(&cb, revs, *flags);
-		for_each_glob_ref_in(handle_one_ref, arg + 7, "refs/tags/", &cb);
+		for_each_glob_ref_in(handle_one_ref, optarg, "refs/tags/", &cb);
 		clear_ref_exclusion(&revs->ref_excludes);
-	} else if (starts_with(arg, "--remotes=")) {
+	} else if (skip_prefix(arg, "--remotes=", &optarg)) {
 		struct all_refs_cb cb;
 		init_all_refs_cb(&cb, revs, *flags);
-		for_each_glob_ref_in(handle_one_ref, arg + 10, "refs/remotes/", &cb);
+		for_each_glob_ref_in(handle_one_ref, optarg, "refs/remotes/", &cb);
 		clear_ref_exclusion(&revs->ref_excludes);
 	} else if (!strcmp(arg, "--reflog")) {
 		add_reflogs_to_pending(revs, *flags);
@@ -2165,14 +2165,14 @@ static int handle_revision_pseudo_opt(const char *submodule,
 		*flags ^= UNINTERESTING | BOTTOM;
 	} else if (!strcmp(arg, "--no-walk")) {
 		revs->no_walk = REVISION_WALK_NO_WALK_SORTED;
-	} else if (starts_with(arg, "--no-walk=")) {
+	} else if (skip_prefix(arg, "--no-walk=", &optarg)) {
 		/*
 		 * Detached form ("--no-walk X" as opposed to "--no-walk=X")
 		 * not allowed, since the argument is optional.
 		 */
-		if (!strcmp(arg + 10, "sorted"))
+		if (!strcmp(optarg, "sorted"))
 			revs->no_walk = REVISION_WALK_NO_WALK_SORTED;
-		else if (!strcmp(arg + 10, "unsorted"))
+		else if (!strcmp(optarg, "unsorted"))
 			revs->no_walk = REVISION_WALK_NO_WALK_UNSORTED;
 		else
 			return error("invalid argument to --no-walk");
-- 
2.13.0.420.g54001f015
Previous: Jeff KingNext: Jeff King
Message 21 of 22 in “Use skip_prefix() in handle_revision_{,pseudo_}opt()”
  1. 0/3 Use skip_prefix() in handle_revision_{,pseudo_}opt()SZEDER Gábor, Jun 2, 2017
  2. 1/3 revision.c: stricter parsing of '--no-{min,max}-parents'SZEDER Gábor, Jun 2, 2017
  3. 2/3 revision.c: use skip_prefix() in handle_revision_opt()SZEDER Gábor, Jun 2, 2017
  4. Jeff KingJun 2, 2017
  5. Jeff KingJun 2, 2017
  6. SZEDER GáborJun 9, 2017
  7. 1/5 revision.h: turn rev_info.early_output back into an unsigned intSZEDER Gábor, Jun 9, 2017
  8. Jeff KingJun 10, 2017
  9. [PATCHv2.1] revision.h: turn rev_info.early_output back into an unsigned intSZEDER Gábor, Jun 10, 2017
  10. Jeff KingJun 12, 2017
  11. Junio C HamanoJun 12, 2017
  12. Jeff KingJun 12, 2017
  13. Jeff KingJun 13, 2017
  14. 2/5 revision.c: stricter parsing of '--no-{min,max}-parents'SZEDER Gábor, Jun 9, 2017
  15. 3/5 revision.c: stricter parsing of '--early-output'SZEDER Gábor, Jun 9, 2017
  16. Junio C HamanoJun 10, 2017
  17. 5/5 revision.c: use skip_prefix() in handle_revision_pseudo_opt()SZEDER Gábor, Jun 9, 2017
  18. 4/5 revision.c: use skip_prefix() in handle_revision_opt()SZEDER Gábor, Jun 9, 2017
  19. Jeff KingJun 10, 2017
  20. Jeff KingJun 10, 2017
  21. 3/3 revision.c: use skip_prefix() in handle_revision_pseudo_opt()SZEDER Gábor, Jun 2, 2017
  22. Jeff KingJun 2, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.