From: Jay Satiro Date: Sun, 20 Dec 2020 07:48:07 +0000 (-0500) Subject: badsymbols.pl: Add verbose mode -v X-Git-Tag: curl-7_75_0~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f170a0f5f78b18c898911b9a234275c6e7c2d41;p=thirdparty%2Fcurl.git badsymbols.pl: Add verbose mode -v Use -v as the first option to enable verbose mode which will show source input, extracted symbol and line info. For example: Source: ./../include/curl/typecheck-gcc.h Symbol: curlcheck_socket_info(info) Line #423: #define curlcheck_socket_info(info) \ Ref: https://curl.se/mail/lib-2020-12/0084.html Closes https://github.com/curl/curl/pull/6349 --- diff --git a/tests/badsymbols.pl b/tests/badsymbols.pl index 8ce536d047..bad037975d 100755 --- a/tests/badsymbols.pl +++ b/tests/badsymbols.pl @@ -45,6 +45,14 @@ if (!$rc) { $Cpreprocessor = 'cpp'; } +my $verbose=0; + +# verbose mode when -v is the first argument +if($ARGV[0] eq "-v") { + $verbose=1; + shift; +} + # we may get the dir root pointed out my $root=$ARGV[0] || "."; @@ -53,7 +61,6 @@ my $i = ($ARGV[1]) ? "-I$ARGV[1] " : ''; my $incdir = "$root/include/curl"; -my $verbose=0; my $summary=0; my $misses=0; @@ -67,6 +74,7 @@ sub scanenums { open H_IN, "-|", "$Cpreprocessor $i$file" || die "Cannot preprocess $file"; while ( ) { + my ($line, $linenum) = ($_, $.); if( /^#(line|) (\d+) \"(.*)\"/) { # if the included file isn't in our incdir, then we skip this section # until next #line @@ -90,6 +98,11 @@ sub scanenums { ($_ ne "typedef") && ($_ ne "enum") && ($_ !~ /^[ \t]*$/)) { + if($verbose) { + print "Source: $Cpreprocessor $i$file\n"; + print "Symbol: $_\n"; + print "Line #$linenum: $line\n\n"; + } push @syms, $_; } } @@ -102,7 +115,13 @@ sub scanheader { scanenums($f); open H, "<$f"; while() { + my ($line, $linenum) = ($_, $.); if (/^#define +([^ \n]*)/) { + if($verbose) { + print "Source: $f\n"; + print "Symbol: $1\n"; + print "Line #$linenum: $line\n\n"; + } push @syms, $1; } }