summaryrefslogtreecommitdiff
path: root/sequencer.c
diff options
context:
space:
mode:
authorLibravatar Johannes Schindelin <johannes.schindelin@gmx.de>2017-12-23 00:55:57 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-12-27 12:33:38 -0800
commit66afa24fb36f15c49aed76be2f04bd23dd0e55c8 (patch)
treeb2b68ade2968be2fbc48acf101790856c28bba21 /sequencer.c
parentsequencer: remove superfluous conditional (diff)
downloadtgif-66afa24fb36f15c49aed76be2f04bd23dd0e55c8.tar.xz
sequencer: report when noop has an argument
The noop command cannot accept any argument, but we never told the user about any bogus argument. Fix that. while at it, mention clearly when an argument is required but missing (for commands *other* than noop). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r--sequencer.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sequencer.c b/sequencer.c
index e9fef58ba0..b005e412a5 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1261,18 +1261,23 @@ static int parse_insn_line(struct todo_item *item, const char *bol, char *eol)
if (i >= TODO_COMMENT)
return -1;
+ /* Eat up extra spaces/ tabs before object name */
+ padding = strspn(bol, " \t");
+ bol += padding;
+
if (item->command == TODO_NOOP) {
+ if (bol != eol)
+ return error(_("%s does not accept arguments: '%s'"),
+ command_to_string(item->command), bol);
item->commit = NULL;
item->arg = bol;
item->arg_len = eol - bol;
return 0;
}
- /* Eat up extra spaces/ tabs before object name */
- padding = strspn(bol, " \t");
if (!padding)
- return -1;
- bol += padding;
+ return error(_("missing arguments for %s"),
+ command_to_string(item->command));
if (item->command == TODO_EXEC) {
item->commit = NULL;