bug-gnulib
[Top][All Lists]
Advanced

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

useless-if-before-free: print all matches


From: Jim Meyering
Subject: useless-if-before-free: print all matches
Date: Tue, 29 Apr 2008 22:07:41 +0200

Before this change, when there was more than one
useless if test in a block (blocks are '"'-separated),
only the first would be shown.  Now they all are.


>From a24967ca5051d7210bb87096c398cfb694385512 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Tue, 29 Apr 2008 22:04:47 +0200
Subject: [PATCH] When the is more than one match in a block, match all of them.

* build-aux/useless-if-before-free: Iterate through each block
until there are no more matches.

Signed-off-by: Jim Meyering <address@hidden>
---
 ChangeLog                        |    4 ++++
 build-aux/useless-if-before-free |    6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fb3db22..eb4e64b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2008-04-29  Jim Meyering  <address@hidden>

+       When the is more than one match in a block, match all of them.
+       * build-aux/useless-if-before-free: Iterate through each block
+       until there are no more matches.
+
        Fix broken useless-if-before-free script.
        * build-aux/useless-if-before-free: Fix typo: missing "?" after
        the expression to match cast of argument to free-like function.
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index 89e7859..4603c6c 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -2,7 +2,7 @@
 # Detect instances of "if (p) free (p);".
 # Likewise for "if (p != NULL) free (p);".  And with braces.

-my $VERSION = '2008-04-29 17:55'; # UTC
+my $VERSION = '2008-04-29 19:56'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
@@ -121,10 +121,10 @@ EOF
           $err = EXIT_ERROR, next;
       while (defined (my $line = <FH>))
         {
-          if ($line =~
+          while ($line =~
               /\b(if\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\)
                (?:   \s*$regexp\s*\((?:\s*\([^)]+\))?\s*\2\s*\)|
-                \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*\2\s*\)\s*;\s*\}))/sx)
+                \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*\2\s*\)\s*;\s*\}))/sxg)
             {
               $found_match = 1;
               $list
--
1.5.5.1.68.gbdcd8




reply via email to

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