From 34623db61895ab5575f7851c9313ab2bf4fecc03 Mon Sep 17 00:00:00 2001 From: Mark Whitley Date: Fri, 14 Jul 2000 00:49:59 +0000 Subject: [PATCH] It dawned on me that I would need to grow a char buffer one extra char bigger to accomodate a trailing '\n'ewline that I append to it later one. This is only necessary for the case of one inserted, appended, or changed line, but it's still necessary. --- editors/sed.c | 5 ++++- sed.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/editors/sed.c b/editors/sed.c index 115783f09..770a56eeb 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -309,7 +309,10 @@ static void parse_edit_cmd(struct sed_cmd *sed_cmd, const char *editstr) fatalError("bad format in edit expression\n"); /* store the edit line text */ - sed_cmd->editline = strdup(&editstr[3]); + /* make editline big enough to accomodate the extra '\n' we will tack on + * to the end */ + sed_cmd->editline = xmalloc(strlen(&editstr[3]) + 2); + strcpy(sed_cmd->editline, &editstr[3]); ptr = sed_cmd->editline; /* now we need to go through * and: s/\\[\r\n]$/\n/g on the edit line */ diff --git a/sed.c b/sed.c index 115783f09..770a56eeb 100644 --- a/sed.c +++ b/sed.c @@ -309,7 +309,10 @@ static void parse_edit_cmd(struct sed_cmd *sed_cmd, const char *editstr) fatalError("bad format in edit expression\n"); /* store the edit line text */ - sed_cmd->editline = strdup(&editstr[3]); + /* make editline big enough to accomodate the extra '\n' we will tack on + * to the end */ + sed_cmd->editline = xmalloc(strlen(&editstr[3]) + 2); + strcpy(sed_cmd->editline, &editstr[3]); ptr = sed_cmd->editline; /* now we need to go through * and: s/\\[\r\n]$/\n/g on the edit line */