[SCM] Git repository for devscripts branch, master, updated. v2.12.4-43-g227b8b8

Benjamin Drung bdrung at debian.org
Thu Oct 25 20:17:08 UTC 2012


The following commit has been merged in the master branch:
commit ec390c80d1dad9592ea9b84d2835be46890e04d2
Author: Raphael Geissert <geissert at debian.org>
Date:   Sun Oct 21 23:21:12 2012 -0500

    checkbashisms: avoid needlessly re-compiling some regexes
    
    Signed-off-by: Benjamin Drung <bdrung at debian.org>

diff --git a/scripts/checkbashisms.pl b/scripts/checkbashisms.pl
index 11767ce..975f710 100755
--- a/scripts/checkbashisms.pl
+++ b/scripts/checkbashisms.pl
@@ -344,8 +344,8 @@ foreach my $filename (@ARGV) {
 	    # detect source (.) trying to pass args to the command it runs
 	    # The first expression weeds out '. "foo bar"'
 	    if (not $found and
-		not m/$LEADIN\.\s+(\"[^\"]+\"|\'[^\']+\'|\$\([^)]+\)+(?:\/[^\s;]+)?)\s*(\&|\||\d?>|<|;|\Z)/
-		and m/$LEADIN(\.\s+[^\s;\`:]+\s+([^\s;]+))/) {
+		not m/$LEADIN\.\s+(\"[^\"]+\"|\'[^\']+\'|\$\([^)]+\)+(?:\/[^\s;]+)?)\s*(\&|\||\d?>|<|;|\Z)/o
+		and m/$LEADIN(\.\s+[^\s;\`:]+\s+([^\s;]+))/o) {
 		if ($2 =~ /^(\&|\||\d?>|<)/) {
 		    # everything is ok
 		    ;
@@ -374,7 +374,7 @@ foreach my $filename (@ARGV) {
 	    }
 
 	    my $re='(?<![\$\\\])\$\'[^\']+\'';
-	    if ($line =~ m/(.*)($re)/){
+	    if ($line =~ m/(.*)($re)/o){
 		my $count = () = $1 =~ /(^|[^\\])\'/g;
 		if( $count % 2 == 0 ) {
 		    output_explanation($display_filename, $orig_line, q<$'...' should be "$(printf '...')">);
@@ -402,7 +402,7 @@ foreach my $filename (@ARGV) {
 	    $cat_line =~ s/(^|[^<\\\"-](?:\\\\)*)\'(?:\\.|[^\\\'])+\'/$1''/g;
 
 	    $re='(?<![\$\\\])\$\"[^\"]+\"';
-	    if ($line =~ m/(.*)($re)/){
+	    if ($line =~ m/(.*)($re)/o){
 		my $count = () = $1 =~ /(^|[^\\])\"/g;
 		if( $count % 2 == 0 ) {
 		    output_explanation($display_filename, $orig_line, q<$"foo" should be eval_gettext "foo">);
@@ -433,7 +433,7 @@ foreach my $filename (@ARGV) {
 	    # This check requires the value to be compared, which could
 	    # be done in the regex itself but requires "use re 'eval'".
 	    # So it's better done in its own
-	    if ($line =~ m/$LEADIN(exit\s+(\d{3,}))/ && $2 > 255) {
+	    if ($line =~ m/$LEADIN(exit\s+(\d{3,}))/o && $2 > 255) {
 		$explanation = 'exit status code greater than 255';
 		output_explanation($display_filename, $orig_line, $explanation);
 	    }

-- 
Git repository for devscripts



More information about the devscripts-devel mailing list