bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] maint: enable the sc_avoid_if_before_free syntax-check


From: Jim Meyering
Subject: [PATCH] maint: enable the sc_avoid_if_before_free syntax-check
Date: Wed, 11 Jul 2012 17:33:05 +0200

I'm finally enabling this syntax-check rule for gnulib itself.
Many of the files exempted below are because (from what I recall)
Bruno prefers not to eliminate these tests.

Bruno, is it ok to remove the one in lib/clean-temp.c, below?

>From 6337d9c614bd4eedbb7ba4e490925512b6709676 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Wed, 11 Jul 2012 17:25:27 +0200
Subject: [PATCH] maint: enable the sc_avoid_if_before_free syntax-check rule

* cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
(if_before_free_offenders_): Define.
(if_before_free_basename_re_): Define.
Exempt current files with useless if-before-free.
* lib/clean-temp.c (create_temp_dir): Remove sole useless
if-before-free from this file.
---
 ChangeLog        | 10 ++++++++++
 cfg.mk           | 18 +++++++++++++++++-
 lib/clean-temp.c |  3 +--
 3 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d94f7b1..87b5eb5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-07-11  Jim Meyering  <address@hidden>
+
+       maint: enable the sc_avoid_if_before_free syntax-check rule
+       * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
+       (if_before_free_offenders_): Define.
+       (if_before_free_basename_re_): Define.
+       Exempt current files with useless if-before-free.
+       * lib/clean-temp.c (create_temp_dir): Remove sole useless
+       if-before-free from this file.
+
 2012-07-10  Akim Demaille  <address@hidden>

        bootstrap: let warn be like tests/init.sh's warn_
diff --git a/cfg.mk b/cfg.mk
index a2b4b48..be20445 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -3,7 +3,6 @@
 local-checks-to-skip =                 \
   sc_GFDL_version                      \
   sc_GPL_version                       \
-  sc_avoid_if_before_free              \
   sc_bindtextdomain                    \
   sc_cast_of_alloca_return_value       \
   sc_cast_of_argument_to_free          \
@@ -59,3 +58,20 @@ exclude_file_name_regexp--sc_trailing_blank = \

 # Disable strncpy prohibition completely, for now.
 exclude_file_name_regexp--sc_prohibit_strncpy = .*
+
+if_before_free_offenders_ = \
+  csharpcomp.c \
+  free.c \
+  fstrcmp.c \
+  gl_carray_list.c \
+  glob.c \
+  glthread/lock.c \
+  propername.c \
+  relocatable.c \
+  vasnprintf.c
+if_before_free_basename_re_ = \
+  $(shell printf '%s\n' '$(if_before_free_offenders_)' \
+    |sed 's|\.c\>||g'|tr -s '[\n[:space:]]' '|')
+
+exclude_file_name_regexp--sc_avoid_if_before_free = \
+  ^lib/($(if_before_free_basename_re_))\.c$$
diff --git a/lib/clean-temp.c b/lib/clean-temp.c
index ef926e5..90269cd 100644
--- a/lib/clean-temp.c
+++ b/lib/clean-temp.c
@@ -302,8 +302,7 @@ create_temp_dir (const char *prefix, const char *parentdir,
           cleanup_list.tempdir_allocated = new_allocated;

           /* Now we can free the old array.  */
-          if (old_array != NULL)
-            free ((struct tempdir **) old_array);
+          free ((struct tempdir **) old_array);
         }

       tmpdirp = &cleanup_list.tempdir_list[cleanup_list.tempdir_count];
--
1.7.11.1.165.g299666c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]