summaryrefslogtreecommitdiff
path: root/editors/sed.c
diff options
context:
space:
mode:
Diffstat (limited to 'editors/sed.c')
-rw-r--r--editors/sed.c8
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");