Author: pfg
Date: Mon May  9 18:53:46 2016
New Revision: 299279
URL: https://svnweb.freebsd.org/changeset/base/299279

Log:
  Simplify redundant malloc'ing in sed -e.
  
  When encountering an -e argument, sed currently mallocs a string to COPY
  the optarg -- with '\n' appended. The appendage does not seem necessary --
  indeed, the same call to add_compunit processing the sole command (given
  without -e) passes the *argv verbatim: without making a copy, and without
  appending newline.
  
  This matches what is done in other BSDs.
  
  Submitted by: Mikhail T.
  PR:           195929
  MFC after:    2 weeks

Modified:
  head/usr.bin/sed/main.c

Modified: head/usr.bin/sed/main.c
==============================================================================
--- head/usr.bin/sed/main.c     Mon May  9 17:19:17 2016        (r299278)
+++ head/usr.bin/sed/main.c     Mon May  9 18:53:46 2016        (r299279)
@@ -125,7 +125,6 @@ int
 main(int argc, char *argv[])
 {
        int c, fflag;
-       char *temp_arg;
 
        (void) setlocale(LC_ALL, "");
 
@@ -147,11 +146,7 @@ main(int argc, char *argv[])
                        break;
                case 'e':
                        eflag = 1;
-                       if ((temp_arg = malloc(strlen(optarg) + 2)) == NULL)
-                               err(1, "malloc");
-                       strcpy(temp_arg, optarg);
-                       strcat(temp_arg, "\n");
-                       add_compunit(CU_STRING, temp_arg);
+                       add_compunit(CU_STRING, optarg);
                        break;
                case 'f':
                        fflag = 1;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to