diff options
-rw-r--r-- | editors/sed.c | 4 | ||||
-rw-r--r-- | testsuite/sed/sed-append-hold-space-to-pattern-space | 13 |
2 files changed, 15 insertions, 2 deletions
diff --git a/editors/sed.c b/editors/sed.c index 05eb744a4..da15c4d06 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -1070,9 +1070,9 @@ static void process_file(FILE * file) } pattern_space = xrealloc(pattern_space, pattern_space_size + hold_space_size); if (pattern_space_size == 2) { - strcat(pattern_space, "\n"); - } else { strcpy(pattern_space, "\n"); + } else { + strcat(pattern_space, "\n"); } if (hold_space) { strcat(pattern_space, hold_space); diff --git a/testsuite/sed/sed-append-hold-space-to-pattern-space b/testsuite/sed/sed-append-hold-space-to-pattern-space new file mode 100644 index 000000000..6dda80fee --- /dev/null +++ b/testsuite/sed/sed-append-hold-space-to-pattern-space @@ -0,0 +1,13 @@ +busybox sed 'G'>output <<EOF +a +b +c +EOF +cmp -s output - <<EOF +a + +b + +c + +EOF |