summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath2003-04-09 15:52:32 +0000
committerGlenn L McGrath2003-04-09 15:52:32 +0000
commitd7fe39b587d78020356eee4636c86e5151634baf (patch)
treef0b0dd29d058aeff43dcb804339aed6bca57a022
parentd87a7ac26947fefa8530559e9eb7f6f49e1b777a (diff)
downloadbusybox-d7fe39b587d78020356eee4636c86e5151634baf.zip
busybox-d7fe39b587d78020356eee4636c86e5151634baf.tar.gz
Really fix the 'r' command
-rw-r--r--editors/sed.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/editors/sed.c b/editors/sed.c
index 5ac7889..5dd5b26 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -994,14 +994,17 @@ static void process_file(FILE * file)
case 'r':{
FILE *outfile;
-
outfile = fopen(sed_cmd->filename, "r");
if (outfile) {
+ char *line;
+ while ((line = bb_get_chomped_line_from_file(outfile)) != NULL) {
+ pattern_space = xrealloc(pattern_space, strlen(line) + strlen(pattern_space) + 2);
+ strcat(pattern_space, "\n");
+ strcat(pattern_space, line);
+ }
bb_xprint_and_close_file(outfile);
}
- /* else if we couldn't open the output file,
- * no biggie, just don't print anything */
- altered++;
+
}
break;
case 'q': /* Branch to end of script and quit */