maint: enable the sc_avoid_if_before_free syntax-check rule
authorJim Meyering <meyering@redhat.com>
Wed, 11 Jul 2012 15:25:27 +0000 (17:25 +0200)
committerJim Meyering <meyering@redhat.com>
Thu, 12 Jul 2012 20:29:26 +0000 (22:29 +0200)
* 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.

ChangeLog
cfg.mk

index 7dacfb7..097c90d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-07-11  Jim Meyering  <meyering@redhat.com>
+
+       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.
+
 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        gettext: do not assume '#define ... defined ...' behavior
diff --git a/cfg.mk b/cfg.mk
index a2b4b48..45a321c 100644 (file)
--- 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,22 @@ exclude_file_name_regexp--sc_trailing_blank = \
 
 # Disable strncpy prohibition completely, for now.
 exclude_file_name_regexp--sc_prohibit_strncpy = .*
+
+if_before_free_offenders_ =    \
+  clean-temp.c                 \
+  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$$