diff --git a/editors/sed.c b/editors/sed.c index 665471913..60b1e8d2e 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -639,8 +639,8 @@ static void process_file(FILE *file) } /* are we acting on a range of line numbers? */ - else if (sed_cmds[i].beg_line > 0 && sed_cmds[i].end_line > 0) { - if (linenum >= sed_cmds[i].beg_line && linenum <= sed_cmds[i].end_line) + else if (sed_cmds[i].beg_line > 0 && sed_cmds[i].end_line != 0) { + if (linenum >= sed_cmds[i].beg_line && (sed_cmds[i].end_line == -1 || linenum <= sed_cmds[i].end_line)) line_altered += do_sed_command(&sed_cmds[i], line); } diff --git a/sed.c b/sed.c index 665471913..60b1e8d2e 100644 --- a/sed.c +++ b/sed.c @@ -639,8 +639,8 @@ static void process_file(FILE *file) } /* are we acting on a range of line numbers? */ - else if (sed_cmds[i].beg_line > 0 && sed_cmds[i].end_line > 0) { - if (linenum >= sed_cmds[i].beg_line && linenum <= sed_cmds[i].end_line) + else if (sed_cmds[i].beg_line > 0 && sed_cmds[i].end_line != 0) { + if (linenum >= sed_cmds[i].beg_line && (sed_cmds[i].end_line == -1 || linenum <= sed_cmds[i].end_line)) line_altered += do_sed_command(&sed_cmds[i], line); }