update code-in-comment to accept cast of free arg
authorJim Meyering <meyering@redhat.com>
Sun, 25 May 2008 16:12:43 +0000 (18:12 +0200)
committerJim Meyering <meyering@redhat.com>
Sun, 25 May 2008 16:12:43 +0000 (18:12 +0200)
* build-aux/useless-if-before-free: Update regexp.

ChangeLog
build-aux/useless-if-before-free

index 5a439a2..4d8efec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-25  Jim Meyering  <meyering@redhat.com>
+
+       update code-in-comment to accept cast of free arg
+       * build-aux/useless-if-before-free: Update regexp.
+
 2008-05-25  Bruno Haible  <bruno@clisp.org>
 
        * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
 2008-05-25  Bruno Haible  <bruno@clisp.org>
 
        * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
index 48f55c6..99b3c97 100755 (executable)
@@ -2,7 +2,7 @@
 # Detect instances of "if (p) free (p);".
 # Likewise for "if (p != NULL) free (p);".  And with braces.
 
 # Detect instances of "if (p) free (p);".
 # Likewise for "if (p != NULL) free (p);".  And with braces.
 
-my $VERSION = '2008-05-01 19:11'; # UTC
+my $VERSION = '2008-05-25 15:40'; # 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
 # 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
@@ -149,12 +149,12 @@ my $foo = <<'EOF';
 # This adjusts them, removing the unnecessary "if (p)" part.
 
 # FIXME: do something like this as an option (doesn't do braces):
 # This adjusts them, removing the unnecessary "if (p)" part.
 
 # FIXME: do something like this as an option (doesn't do braces):
-git ls-files -z |xargs -0 \
-perl -0x3b -pi -e 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\)\s+(k?free\s*\(\s*\1\s*\))/$2/s'
-
 useless-if-before-free -l $(lid -knone free) | xargs -0 \
   perl -0x3b -pi -e \
 useless-if-before-free -l $(lid -knone free) | xargs -0 \
   perl -0x3b -pi -e \
-   's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\)\s+(free\s*\(\s*\1\s*\))/$2/s'
+   's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\)\s+(free\s*\((?:\s*\([^)]+\))?\s*\1\s*\))/$2/s'
+
+# Or, with git:
+git ls-files -z |xargs -0 perl -0x3b -pi -e '...'
 
 Be careful that the result of the above transformation is valid.
 If the matched string is followed by "else", then obviously, it won't be.
 
 Be careful that the result of the above transformation is valid.
 If the matched string is followed by "else", then obviously, it won't be.