From 5ea3d2ff066dbb78fb6cdee5e07ee5ce1672f31a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 3 Apr 2016 11:29:14 +0200 Subject: checksrc: improve the fopen() parser somewhat The quote scanner was too fragile, now look for a comma instead to find the mode argument. --- lib/checksrc.pl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/checksrc.pl') diff --git a/lib/checksrc.pl b/lib/checksrc.pl index 0c1674621..f01eca3b3 100755 --- a/lib/checksrc.pl +++ b/lib/checksrc.pl @@ -6,7 +6,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 2011 - 2015, Daniel Stenberg, , et al. +# Copyright (C) 2011 - 2016, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -51,7 +51,7 @@ sub checkwarn { $supressed++; return; } - + my $w=$error?"error":"warning"; if($w) { @@ -212,7 +212,7 @@ sub scanfile { "comma without following space"); } } - + # check for "} else" if($l =~ /^(.*)\} *else/) { checkwarn($line, length($1), $file, $l, "else after closing brace on same line"); @@ -234,11 +234,11 @@ sub scanfile { } # scan for use of non-binary fopen without the macro - if($l =~ /^(.*\W)fopen\s*\([^"]*\"([^"]*)/) { + if($l =~ /^(.*\W)fopen\s*\([^,]*, *\"([^"]*)/) { my $mode = $2; if($mode !~ /b/) { checkwarn($line, length($1), $file, $l, - "use of non-binary fopen without FOPEN_* macro"); + "use of non-binary fopen without FOPEN_* macro: $mode"); } } -- cgit v1.2.3