* build-aux/useless-if-before-free: First match each line with the
simple/quick /\bif\b/ and reject if there is no match. This often
saves the cost of the much more involved regular expression.
For libvirt, this decreases the cost from 1.44s to 1.02s.
+2016-07-26 Ján Tomko <jtomko@redhat.com>
+
+ useless-if-before-free: skip non-matching lines early
+ * build-aux/useless-if-before-free: First match each line with the
+ simple/quick /\bif\b/ and reject if there is no match. This often
+ saves the cost of the much more involved regular expression.
+ For libvirt, this decreases the cost from 1.44s to 1.02s.
+
2016-07-26 Ján Tomko <jtomko@redhat.com>
maint.mk: speed up sc_po_check
# Detect instances of "if (p) free (p);".
# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
-my $VERSION = '2016-01-12 23:13'; # UTC
+my $VERSION = '2016-08-01 17:47'; # 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
$err = EXIT_ERROR, next;
while (defined (my $line = <FH>))
{
+ # Skip non-matching lines early to save time
+ $line =~ /\bif\b/
+ or next;
while ($line =~
/\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\)
# 1 2 3