This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl #117865] [PATCH] Eliminate useless variable and sizeof(char)
authorDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Sun, 5 May 2013 02:18:35 +0000 (20:18 -0600)
committerKarl Williamson <public@khwilliamson.com>
Mon, 20 May 2013 17:01:50 +0000 (11:01 -0600)
bufsiz is always just set from bsiz (via a useless multiplication by
sizeof(char), which is by definition 1), so instead of trying to keep
them in sync, just get rid of bufsiz use bsiz directly# Please enter the commit message for your changes. Lines starting

util.c

diff --git a/util.c b/util.c
index da5959f..14d9f2c 100644 (file)
--- a/util.c
+++ b/util.c
@@ -6143,16 +6143,14 @@ Perl_my_clearenv(pTHX)
     (void)clearenv();
 #        elif defined(HAS_UNSETENV)
     int bsiz = 80; /* Most envvar names will be shorter than this. */
     (void)clearenv();
 #        elif defined(HAS_UNSETENV)
     int bsiz = 80; /* Most envvar names will be shorter than this. */
-    int bufsiz = bsiz * sizeof(char); /* sizeof(char) paranoid? */
-    char *buf = (char*)safesysmalloc(bufsiz);
+    char *buf = (char*)safesysmalloc(bsiz);
     while (*environ != NULL) {
       char *e = strchr(*environ, '=');
       int l = e ? e - *environ : (int)strlen(*environ);
       if (bsiz < l + 1) {
         (void)safesysfree(buf);
         bsiz = l + 1; /* + 1 for the \0. */
     while (*environ != NULL) {
       char *e = strchr(*environ, '=');
       int l = e ? e - *environ : (int)strlen(*environ);
       if (bsiz < l + 1) {
         (void)safesysfree(buf);
         bsiz = l + 1; /* + 1 for the \0. */
-        bufsiz = bsiz * sizeof(char); /* keep bsiz and bufsiz in sync */
-        buf = (char*)safesysmalloc(bufsiz);
+        buf = (char*)safesysmalloc(bsiz);
       } 
       memcpy(buf, *environ, l);
       buf[l] = '\0';
       } 
       memcpy(buf, *environ, l);
       buf[l] = '\0';