Remove useless "if" tests before free. Deprecate "free" module.
authorJim Meyering <meyering@redhat.com>
Mon, 18 Feb 2008 13:12:07 +0000 (14:12 +0100)
committerJim Meyering <meyering@redhat.com>
Sun, 2 Mar 2008 16:23:38 +0000 (17:23 +0100)
* doc/posix-functions/free.texi: Mention that this
module is no longer useful.
* modules/free (Notice): Say this module is obsolete.
* modules/readutmp (Depends-on): Remove free.
* lib/save-cwd.c (free_cwd): Remove useless "if" before free.
* lib/putenv.c (putenv): Likewise.
* lib/gc-gnulib.c (gc_cipher_close): Likewise.
* lib/getaddrinfo.c (freeaddrinfo): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.
* tests/test-c-strstr.c (main): Likewise.
* tests/test-mbscasestr1.c (main): Likewise.
* tests/test-mbscasestr2.c (main): Likewise.
* tests/test-mbsstr1.c (main): Likewise.
* tests/test-mbsstr2.c (main): Likewise.
* tests/test-memmem.c (main): Likewise.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-striconv.c (main): Likewise.
* tests/test-striconveh.c (main): Likewise.
* tests/test-striconveha.c (main): Likewise.
* tests/test-strstr.c (main): Likewise.

20 files changed:
ChangeLog
doc/posix-functions/free.texi
lib/gc-gnulib.c
lib/getaddrinfo.c
lib/putenv.c
lib/save-cwd.c
modules/free
modules/readutmp
tests/test-c-strcasestr.c
tests/test-c-strstr.c
tests/test-mbscasestr1.c
tests/test-mbscasestr2.c
tests/test-mbsstr1.c
tests/test-mbsstr2.c
tests/test-memmem.c
tests/test-strcasestr.c
tests/test-striconv.c
tests/test-striconveh.c
tests/test-striconveha.c
tests/test-strstr.c

index 4876a38..69e78c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,27 @@
 2008-03-02  Jim Meyering  <meyering@redhat.com>
 
+       Remove useless "if" tests before free.  Deprecate "free" module.
+       * doc/posix-functions/free.texi: Mention that this
+       module is no longer useful.
+       * modules/free (Notice): Say this module is obsolete.
+       * modules/readutmp (Depends-on): Remove free.
+       * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
+       * lib/putenv.c (putenv): Likewise.
+       * lib/gc-gnulib.c (gc_cipher_close): Likewise.
+       * lib/getaddrinfo.c (freeaddrinfo): Likewise.
+       * tests/test-c-strcasestr.c (main): Likewise.
+       * tests/test-c-strstr.c (main): Likewise.
+       * tests/test-mbscasestr1.c (main): Likewise.
+       * tests/test-mbscasestr2.c (main): Likewise.
+       * tests/test-mbsstr1.c (main): Likewise.
+       * tests/test-mbsstr2.c (main): Likewise.
+       * tests/test-memmem.c (main): Likewise.
+       * tests/test-strcasestr.c (main): Likewise.
+       * tests/test-striconv.c (main): Likewise.
+       * tests/test-striconveh.c (main): Likewise.
+       * tests/test-striconveha.c (main): Likewise.
+       * tests/test-strstr.c (main): Likewise.
+
        * build-aux/git-version-gen: Adjust a comment and the Usage string.
 
        bootstrap: sync from coreutils again
index a407dc2..10d95cd 100644 (file)
@@ -9,7 +9,10 @@ Gnulib module: free
 Portability problems fixed by Gnulib:
 @itemize
 @item
-On old platforms, @code{free (NULL)} is not allowed.
+On old platforms such as SunOS4, @code{free (NULL)} fails.
+However, since all such systems are so old as to no longer
+be considered ``reasonable portability targets,''
+this module is no longer useful.
 @end itemize
 
 Portability problems not fixed by Gnulib:
index 94e0880..d535d03 100644 (file)
@@ -546,8 +546,7 @@ gc_cipher_close (gc_cipher_handle handle)
 {
   _gc_cipher_ctx *ctx = handle;
 
-  if (ctx)
-    free (ctx);
+  free (ctx);
 
   return GC_OK;
 }
index aa07903..c7a1ea9 100644 (file)
@@ -326,7 +326,7 @@ freeaddrinfo (struct addrinfo *ai)
       cur = ai;
       ai = ai->ai_next;
 
-      if (cur->ai_canonname) free (cur->ai_canonname);
+      free (cur->ai_canonname);
       free (cur);
     }
 }
index 351b403..d0573c6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997, 1998, 2000, 2003, 2004, 2005, 2006, 2007
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2008
    Free Software Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
@@ -122,8 +122,7 @@ putenv (char *string)
                     size * sizeof (char *));
       new_environ[size] = (char *) string;
       new_environ[size + 1] = NULL;
-      if (last_environ != NULL)
-       free (last_environ);
+      free (last_environ);
       last_environ = new_environ;
       environ = new_environ;
     }
index 7618f09..e158e8b 100644 (file)
@@ -97,6 +97,5 @@ free_cwd (struct saved_cwd *cwd)
 {
   if (cwd->desc >= 0)
     close (cwd->desc);
-  if (cwd->name)
-    free (cwd->name);
+  free (cwd->name);
 }
index 94b6a3a..26ef70b 100644 (file)
@@ -1,6 +1,9 @@
 Description:
 Work around incompatibility on older systems where free (NULL) fails.
 
+Notice:
+This module is obsolete.
+
 Files:
 lib/free.c
 m4/free.m4
@@ -20,4 +23,3 @@ GPL
 
 Maintainer:
 Paul Eggert
-
index fd813be..4a778b8 100644 (file)
@@ -9,7 +9,6 @@ m4/readutmp.m4
 Depends-on:
 extensions
 xalloc
-free
 stdbool
 
 configure.ac:
index 012571d..b511654 100644 (file)
@@ -136,10 +136,8 @@ main ()
        result = c_strcasestr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index 75b8d5d..a8682cb 100644 (file)
@@ -129,10 +129,8 @@ main ()
        result = c_strstr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index c8b18bb..27abd11 100644 (file)
@@ -131,10 +131,8 @@ main ()
        result = mbscasestr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index 1b9f184..a4d0848 100644 (file)
@@ -143,10 +143,8 @@ main ()
        result = mbscasestr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index f2b1e1d..ff20485 100644 (file)
@@ -130,10 +130,8 @@ main ()
        result = mbsstr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index d8699ca..014afed 100644 (file)
@@ -143,10 +143,8 @@ main ()
        result = mbsstr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index 58043cd..656f3bb 100644 (file)
@@ -152,10 +152,8 @@ main (int argc, char *argv[])
        result = memmem (haystack, 2 * m + 1, needle, m + 1);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   /* Check that long needles not present in a haystack can be handled
@@ -179,10 +177,8 @@ main (int argc, char *argv[])
            ASSERT (result == NULL);
          }
       }
-    if (haystack != NULL)
-      free (haystack);
-    if (needle != NULL)
-      free (needle);
+    free (haystack);
+    free (needle);
   }
 
   return 0;
index 9db62f1..a674719 100644 (file)
@@ -144,10 +144,8 @@ main ()
        result = strcasestr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   return 0;
index 5c97c4a..b1252b0 100644 (file)
@@ -102,8 +102,7 @@ main ()
                               &result, &length);
     ASSERT (retval == 0);
     ASSERT (length == 0);
-    if (result != NULL)
-      free (result);
+    free (result);
   }
 
   /* ------------------------- Test str_cd_iconv() ------------------------- */
index 72e31b9..459b0f1 100644 (file)
@@ -330,8 +330,7 @@ main ()
              ASSERT (offsets[1] == MAGIC);
              free (offsets);
            }
-         if (result != NULL)
-           free (result);
+         free (result);
        }
     }
 
@@ -719,8 +718,7 @@ main ()
              ASSERT (offsets[1] == MAGIC);
              free (offsets);
            }
-         if (result != NULL)
-           free (result);
+         free (result);
        }
     }
 
index 488eec0..8c87663 100644 (file)
@@ -313,8 +313,7 @@ main ()
              ASSERT (offsets[1] == MAGIC);
              free (offsets);
            }
-         if (result != NULL)
-           free (result);
+         free (result);
        }
     }
 
index b03fcf9..be75a66 100644 (file)
@@ -142,10 +142,8 @@ main (int argc, char *argv[])
        result = strstr (haystack, needle);
        ASSERT (result == haystack + m);
       }
-    if (needle != NULL)
-      free (needle);
-    if (haystack != NULL)
-      free (haystack);
+    free (needle);
+    free (haystack);
   }
 
   /* Sublinear speed is only possible in memmem; strstr must examine