aboutsummaryrefslogtreecommitdiff
path: root/sam.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-11-02 22:58:03 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-11-02 22:58:03 +0100
commit1d1027625078f6a8c6cd932645e6057230ffb201 (patch)
treedb090c8588911499a9f21ba3ae78ed49e595a9f2 /sam.c
parentb069d0b01172b53ac3c38ebe768021a34984f174 (diff)
downloadvis-1d1027625078f6a8c6cd932645e6057230ffb201.tar.gz
vis-1d1027625078f6a8c6cd932645e6057230ffb201.tar.xz
sam: fix command name parsing
Any white space should terminate the command name. In particular multi-line commands as part of a group were not handled correctly.
Diffstat (limited to 'sam.c')
-rw-r--r--sam.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sam.c b/sam.c
index 315dc11..237396f 100644
--- a/sam.c
+++ b/sam.c
@@ -359,11 +359,11 @@ static void parse_argv(const char **s, const char *argv[], size_t maxarg) {
}
static char *parse_cmdname(const char **s) {
- skip_spaces(s);
Buffer buf;
buffer_init(&buf);
- while (**s && **s != ' ' && (!ispunct((unsigned char)**s) || **s == '-'))
+ skip_spaces(s);
+ while (**s && !isspace((unsigned char)**s) && (!ispunct((unsigned char)**s) || **s == '-'))
buffer_append(&buf, (*s)++, 1);
if (buffer_length(&buf))