[Top][All Lists]
[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
- [PATCH] maint: enable the sc_avoid_if_before_free syntax-check,
Jim Meyering <=