diff options
Diffstat (limited to 'editors')
-rw-r--r-- | editors/sed.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/editors/sed.c b/editors/sed.c index 7f76584..fe1c0db 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -414,6 +414,10 @@ static char *parse_cmd_str(struct sed_cmd * const sed_cmd, const char *const cmd * part1 part2 part3 */ + /* skip initial whitespace */ + while (isspace(cmdstr[idx])) + idx++; + /* first part (if present) is an address: either a number or a /regex/ */ if (isdigit(cmdstr[idx]) || cmdstr[idx] == '/') idx = get_address(sed_cmd, cmdstr, &sed_cmd->beg_line, &sed_cmd->beg_match); @@ -422,6 +426,10 @@ static char *parse_cmd_str(struct sed_cmd * const sed_cmd, const char *const cmd if (cmdstr[idx] == ',') idx += get_address(sed_cmd, &cmdstr[++idx], &sed_cmd->end_line, &sed_cmd->end_match); + /* skip whitespace before the command */ + while (isspace(cmdstr[idx])) + idx++; + /* last part (mandatory) will be a command */ if (cmdstr[idx] == '\0') error_msg_and_die("missing command"); |