changeset 16984:c31ccd2abb3e

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.
author Jim Meyering <meyering@redhat.com>
date Wed, 11 Jul 2012 17:25:27 +0200
parents 956d27419f62
children 2962f2b14533
files ChangeLog cfg.mk
diffstat 2 files changed, 27 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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 @@
 
 # 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$$