mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
parse_insn_line(): improve error message when parsing failed
In the case that a `get_oid()` call failed, we showed some rather bogus part of the line instead of the precise string we sent to said function. That makes it rather hard for users to understand what is going wrong, so let's fix that. While at it, return a negative value from `parse_insn_line()` in case of an error, as per our convention. This function's only caller, `todo_list_parse_insn_buffer()`, cares only whether that return value is non-zero or not, i.e. does not need to be changed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d0654dc308
commit
d859dcad94
@ -2118,6 +2118,8 @@ static int parse_insn_line(struct repository *r, struct todo_item *item,
|
||||
saved = *end_of_object_name;
|
||||
*end_of_object_name = '\0';
|
||||
status = get_oid(bol, &commit_oid);
|
||||
if (status < 0)
|
||||
error(_("could not parse '%s'"), bol); /* return later */
|
||||
*end_of_object_name = saved;
|
||||
|
||||
bol = end_of_object_name + strspn(end_of_object_name, " \t");
|
||||
@ -2125,11 +2127,10 @@ static int parse_insn_line(struct repository *r, struct todo_item *item,
|
||||
item->arg_len = (int)(eol - bol);
|
||||
|
||||
if (status < 0)
|
||||
return error(_("could not parse '%.*s'"),
|
||||
(int)(end_of_object_name - bol), bol);
|
||||
return status;
|
||||
|
||||
item->commit = lookup_commit_reference(r, &commit_oid);
|
||||
return !item->commit;
|
||||
return item->commit ? 0 : -1;
|
||||
}
|
||||
|
||||
int sequencer_get_last_command(struct repository *r, enum replay_action *action)
|
||||
|
Loading…
Reference in New Issue
Block a user