summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editors/sed.c4
-rw-r--r--testsuite/sed/sed-append-hold-space-to-pattern-space13
2 files changed, 15 insertions, 2 deletions
diff --git a/editors/sed.c b/editors/sed.c
index 05eb744..da15c4d 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 0000000..6dda80f
--- /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