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

[PATCH 3/4] revert: simplify insn parsing logic

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Mar 29, 2012, 13:58 UTC
Message-ID
<1333029495-10034-4-git-send-email-artagnon@gmail.com>
In-Reply-To
<1333029495-10034-1-git-send-email-artagnon@gmail.com>

Our instruction sheet parser first looks for a valid action by checking that the buffer starts with either "pick" or "revert". Then, it looks for either spaces or tabs before looking for the object name, erroring out if it doesn't find any. Simplify this logic without making any functional changes by looking for ("pick " or "pick\t") or ("revert " or "revert\t") in the first place.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
---
 sequencer.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/sequencer.c b/sequencer.c
index 458cffb..02e58ad 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -517,22 +517,19 @@ static struct commit *parse_insn_line(char *bol, char *eol, struct replay_opts *
 {
 	unsigned char commit_sha1[20];
 	enum replay_action action;
-	int namelen, padding;
+	int namelen;
 
-	if (!prefixcmp(bol, "pick")) {
+	if (!prefixcmp(bol, "pick ") || !prefixcmp(bol, "pick\t")) {
 		action = REPLAY_PICK;
 		bol += strlen("pick");
-	} else if (!prefixcmp(bol, "revert")) {
+	} else if (!prefixcmp(bol, "revert ") || !prefixcmp(bol, "revert\t")) {
 		action = REPLAY_REVERT;
 		bol += strlen("revert");
 	} else
 		return NULL;
 
 	/* Eat up extra spaces/ tabs before object name */
-	padding = strspn(bol, " \t");
-	if (!padding)
-		return NULL;
-	bol += padding;
+	bol += strspn(bol, " \t");
 
 	/*
 	 * Verify that the action matches up with the one in
-- 
1.7.8.1.362.g5d6df.dirty
Previous: Ramkumar RamachandraNext: Junio C Hamano
Message 8 of 11 in “Minor sequencer.c cleanups”
  1. 0/4 Minor sequencer.c cleanupsRamkumar Ramachandra, Mar 29, 2012
  2. 1/4 sha1_name: introduce getn_sha1() to take lengthRamkumar Ramachandra, Mar 29, 2012
  3. Jonathan NiederApr 3, 2012
  4. Matthieu MoyApr 4, 2012
  5. Ramkumar RamachandraApr 4, 2012
  6. Jonathan NiederApr 4, 2012
  7. 2/4 revert: use getn_sha1() to simplify insn parsingRamkumar Ramachandra, Mar 29, 2012
  8. 3/4 revert: simplify insn parsing logicRamkumar Ramachandra, Mar 29, 2012
  9. Junio C HamanoApr 2, 2012
  10. Ramkumar RamachandraApr 3, 2012
  11. 4/4 revert: report fine-grained errors from insn parserRamkumar Ramachandra, Mar 29, 2012

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.