]> ruderich.org/simon Gitweb - blhc/blhc.git/blobdiff - bin/blhc
Prevent / in extension in file extension regex.
[blhc/blhc.git] / bin / blhc
index 91a5f4943c29076d61bde0904dffc7aa8d38a74a..829d78252e90548278ee5ca5d12278f9e6b5a41c 100755 (executable)
--- a/bin/blhc
+++ b/bin/blhc
@@ -138,7 +138,7 @@ my $file_extension_regex = qr/
     \s
     \S+             # Filename without extension.
     \.
-    ([^\\.,;:\s]+)  # File extension.
+    ([^\/\\.,;:\s]+)# File extension.
     (?=\s|\\)       # At end of word. Can't use \b because some files have non
                     # word characters at the end and because \b matches double
                     # extensions (like .cpp.o). Works always as all lines are
@@ -331,7 +331,14 @@ sub is_non_verbose_build {
     }
 
     # False positives.
+    #
+    # C++ compiler setting.
     return 0 if $line =~ /^\s*C\+\+.+?:\s+(?:yes|no)\s*$/;
+    # "Compiling" with no file name.
+    if ($line =~ /^\s*(?:C|c)ompiling\s+(.+?)(?:\.\.\.)?$/) {
+        # $file_extension_regex may need spaces around the filename.
+        return 0 if not " $1 " =~ /$file_extension_regex/o;
+    }
 
     my $file = $1;