To read the object name in the instruction sheet, we currently manipulate the buffer to artificially introduce a NUL after the supposed object name, and then use get_sha1() to read the object name before restoring the buffer. Get rid of this ugliness by using getn_sha1(), a function introduced in the previous patch. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- sequencer.c | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-) diff --git a/sequencer.c b/sequencer.c index a37846a..458cffb 100644 --- a/sequencer.c +++ b/sequencer.c @@ -517,8 +517,7 @@ static struct commit *parse_insn_line(char *bol, char *eol, struct replay_opts * { unsigned char commit_sha1[20]; enum replay_action action; - char *end_of_object_name; - int saved, status, padding; + int namelen, padding; if (!prefixcmp(bol, "pick")) { action = REPLAY_PICK; @@ -535,12 +534,6 @@ static struct commit *parse_insn_line(char *bol, char *eol, struct replay_opts * return NULL; bol += padding; - end_of_object_name = bol + strcspn(bol, " \t\n"); - saved = *end_of_object_name; - *end_of_object_name = '\0'; - status = get_sha1(bol, commit_sha1); - *end_of_object_name = saved; - /* * Verify that the action matches up with the one in * opts; we don't support arbitrary instructions @@ -552,8 +545,8 @@ static struct commit *parse_insn_line(char *bol, char *eol, struct replay_opts * return NULL; } - if (status < 0) + namelen = strcspn(bol, " \t\n"); + if (getn_sha1(bol, namelen, commit_sha1)) return NULL; return lookup_commit_reference(commit_sha1); -- 1.7.8.1.362.g5d6df.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html