aboutsummaryrefslogtreecommitdiff
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 05eb744a4..da15c4d06 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -1070,9 +1070,9 @@ static void process_file(FILE * file)
1070 } 1070 }
1071 pattern_space = xrealloc(pattern_space, pattern_space_size + hold_space_size); 1071 pattern_space = xrealloc(pattern_space, pattern_space_size + hold_space_size);
1072 if (pattern_space_size == 2) { 1072 if (pattern_space_size == 2) {
1073 strcat(pattern_space, "\n");
1074 } else {
1075 strcpy(pattern_space, "\n"); 1073 strcpy(pattern_space, "\n");
1074 } else {
1075 strcat(pattern_space, "\n");
1076 } 1076 }
1077 if (hold_space) { 1077 if (hold_space) {
1078 strcat(pattern_space, hold_space); 1078 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 @@
1busybox sed 'G'>output <<EOF
2a
3b
4c
5EOF
6cmp -s output - <<EOF
7a
8
9b
10
11c
12
13EOF