scripts: enable strict warnings in Perl where missing, fix fallouts

- add 'use warnings' and 'use strict' where missing from Perl scripts.
- fix 'Use of uninitialized value'.
- fix missing declarations.
- test1140.pl: fix 'Possible precedence issue with control flow operator'.
- fix other misc issues.

Most actual errors found during this PR were fixed and merged via
separate PRs.

Likely there are remaining warnings not found and fixed in this PR.

Closes #17877
This commit is contained in:
Viktor Szakats
2025-07-09 21:18:29 +02:00
parent 89771d19d5
commit 2ec54556d4
45 changed files with 323 additions and 97 deletions

View File

@@ -13,7 +13,15 @@
#
# ---(accepted word)
#
my $w;
use strict;
use warnings;
my @whitelist;
my %alt;
my %exactcase;
my @w;
while(<STDIN>) {
chomp;
if($_ =~ /^#/) {

View File

@@ -10,6 +10,11 @@
# might have a problem with that we still deem is fine.
#
use strict;
use warnings;
my @asyms;
open(S, "<./docs/libcurl/symbols-in-versions")
|| die "can't find symbols-in-versions";
while(<S>) {

View File

@@ -23,6 +23,9 @@
#
###########################################################################
use strict;
use warnings;
my $autotools = $ARGV[0];
my $cmake = $ARGV[1];

View File

@@ -18,6 +18,9 @@
# directory where it runs.
#
use strict;
use warnings;
my $curl = "../src/curl";
my $url = "localhost:7777"; # not listening to this
@@ -31,6 +34,14 @@ if(!$seconds) {
}
print "Run $curl for $seconds seconds\n";
my @opt;
my %arg;
my %uniq;
my %allrc;
my $totalargs = 0;
my $totalcmds = 0;
my $counter = 0xabcdef + time();
sub getnum {
my ($max) = @_;
@@ -164,6 +175,7 @@ sub runconfig {
my $o = getnum($nopts);
my $option = $opt[$o];
my $ar = "";
$uniq{$option} = 0 if(!exists $uniq{$option});
$uniq{$option}++;
if($arg{$option}) {
$ar = " ".randarg();

View File

@@ -7,7 +7,10 @@
# Outputs: the same file, minus the header
#
my $f = $ARGV[0];
use strict;
use warnings;
my $f = $ARGV[0] || '';
open(F, "<$f") or die;

View File

@@ -23,12 +23,15 @@
#
###########################################################################
use strict;
use warnings;
my @files = @ARGV;
my $cfile = "test.c";
my $check = "./scripts/checksrc.pl";
my $error;
my $error = 0;
if($files[0] eq "-h") {
if(!@files || $files[0] eq "-h") {
print "Usage: verify-examples [markdown pages]\n";
exit;
}
@@ -82,7 +85,7 @@ sub extract {
return ($fail ? 0 : $l);
}
my $count;
my $count = 0;
for my $m (@files) {
#print "Verify $m\n";
my $out = extract($m);

View File

@@ -23,10 +23,13 @@
#
###########################################################################
use strict;
use warnings;
my @files = @ARGV;
my $cfile = "test.c";
if($files[0] eq "-h") {
if(!@files || $files[0] eq "-h") {
print "Usage: verify-synopsis [man pages]\n";
exit;
}

View File

@@ -25,9 +25,12 @@
# pass files as argument(s)
use strict;
use warnings;
my $docroot="https://curl.se/libcurl/c";
for $f (@ARGV) {
for my $f (@ARGV) {
open(NEW, ">$f.new");
open(F, "<$f");
while(<F>) {

View File

@@ -38,6 +38,9 @@
# version-check.pl [source file]
#
use strict;
use warnings;
open(S, "<../libcurl/symbols-in-versions") || die;
my %doc;
@@ -64,7 +67,7 @@ sub age {
my ($ver)=@_;
my @s=split(/\./, $ver);
return $s[0]*10000+$s[1]*100+$s[2];
return $s[0]*10000+$s[1]*100+($s[2] || 0);
}
my %used;

View File

@@ -22,6 +22,8 @@
# * SPDX-License-Identifier: curl
# *
# ***************************************************************************
use strict;
use warnings;
use POSIX qw(strftime);
my @ts;

View File

@@ -44,12 +44,15 @@
# #endif
#
#
use strict;
use warnings;
open F, "<symbols-in-versions";
sub str2num {
my ($str)=@_;
if($str =~ /([0-9]*)\.([0-9]*)\.*([0-9]*)/) {
return sprintf("0x%06x", $1<<16 | $2 << 8 | $3);
if($str && $str =~ /([0-9]*)\.([0-9]*)\.*([0-9]*)/) {
return sprintf("0x%06x", $1 <<16 | $2 << 8 | ($3 || '0'));
}
}

View File

@@ -1,5 +1,8 @@
#!/usr/bin/env perl
use strict;
use warnings;
print <<HEAD
/***************************************************************************
* _ _ ____ _
@@ -37,31 +40,36 @@ HEAD
my $lastnum=0;
my %opt;
my %type;
my @names;
my %alias;
sub add {
my($opt, $type, $num)=@_;
my($optstr, $typestr, $num)=@_;
my $name;
# remove all spaces from the type
$type =~ s/ //g;
my $ext = $type;
$typestr =~ s/ //g;
my $ext = $typestr;
if($opt =~ /OBSOLETE/) {
if($optstr =~ /OBSOLETE/) {
# skip obsolete options
next;
}
if($opt =~ /^CURLOPT_(.*)/) {
if($optstr =~ /^CURLOPT_(.*)/) {
$name=$1;
}
$ext =~ s/CURLOPTTYPE_//;
$ext =~ s/CBPOINT/CBPTR/;
$ext =~ s/POINT\z//;
$type = "CURLOT_$ext";
$typestr = "CURLOT_$ext";
$opt{$name} = $opt;
$type{$name} = $type;
$opt{$name} = $optstr;
$type{$name} = $typestr;
push @names, $name;
if($num < $lastnum) {
print STDERR "ERROR: $opt has bad number: $num < $lastnum\n";
print STDERR "ERROR: $optstr has bad number: $num < $lastnum\n";
exit 2;
}
else {
@@ -123,8 +131,8 @@ for my $name (sort @names) {
$name = $alias{$name};
$flag = "CURLOT_FLAG_ALIAS";
}
$o = sprintf(" {\"%s\", %s, %s, %s},\n",
$oname, $opt{$name}, $type{$name}, $flag);
my $o = sprintf(" {\"%s\", %s, %s, %s},\n",
$oname, $opt{$name}, $type{$name}, $flag);
if(length($o) < 80) {
print $o;
}

View File

@@ -36,13 +36,16 @@ Example: cd2cd [--in-place] <file.md> > <file.md>
=end comment
=cut
use strict;
use warnings;
my $cd2cd = "0.1"; # to keep check
my $dir;
my $extension;
my $inplace = 0;
while(1) {
if($ARGV[0] eq "--in-place") {
if(@ARGV && $ARGV[0] eq "--in-place") {
shift @ARGV;
$inplace = 1;
}
@@ -84,6 +87,9 @@ sub single {
my $start = 0;
my $d;
my $line = 0;
my $salist = 0;
my $copyright;
my $spdx;
open(F, "<:crlf", "$f") ||
return 1;
while(<F>) {
@@ -221,6 +227,6 @@ if($inplace) {
single($a);
}
}
else {
elsif(@ARGV) {
exit single($ARGV[0]);
}

View File

@@ -25,6 +25,9 @@
# provide all dir names to scan on the cmdline
use strict;
use warnings;
sub convert {
my ($dir)=@_;
opendir(my $dh, $dir) || die "could not open $dir";

View File

@@ -23,6 +23,14 @@
#
###########################################################################
use strict;
use warnings;
my %with;
my %without;
my %used;
my %avail;
# these options are enabled by default in the sense that they will attempt to
# check for and use this feature without the configure flag
my %defaulton = (

View File

@@ -23,6 +23,9 @@
#
###########################################################################
use strict;
use warnings;
my %filelevel= ('file' => 1,
'service' => 1);
@@ -39,6 +42,8 @@ sub submit {
}
}
my %job;
sub githubactions {
my ($tag)=@_;
my @files= `git ls-tree -r --name-only $tag .github/workflows 2>/dev/null`;
@@ -341,6 +346,8 @@ sub circle {
my $cmds;
my $jobs;
my $workflow;
my $cmdname;
my $jobname;
$job{'file'} = ".circleci/config.yml";
$job{'service'} = "circleci";
while(<G>) {
@@ -408,6 +415,10 @@ sub zuul {
my %job;
my $line=0;
my $type;
my $jobmode;
my $apt = 0;
my $env = 0;
my $envcont;
$job{'file'} = "zuul.d/jobs.yaml";
$job{'service'} = "zuul";
while(<G>) {

View File

@@ -30,6 +30,9 @@
#
# In the git clone root, invoke 'scripts/delta [release tag]'
use strict;
use warnings;
$start = $ARGV[0];
if($start eq "-h") {

View File

@@ -23,6 +23,12 @@
#
###########################################################################
use strict;
use warnings;
my @proto;
my %inc;
sub scanfile {
my ($file) = @_;
open(F, "<$file") || die "$file failed";

View File

@@ -39,6 +39,9 @@ Unfortunately it seems some perls like msysgit cannot handle a global input-only
=end comment
=cut
use strict;
use warnings;
my %optshort;
my %optlong;
my %helplong;
@@ -65,7 +68,7 @@ my $indent = 4;
sub manpageify {
my ($k)=@_;
my $l;
my $trail;
my $trail = '';
# the matching pattern might include a trailing dot that cannot be part of
# the option name
if($k =~ s/\.$//) {
@@ -127,8 +130,10 @@ sub justline {
sub lastline {
my ($lvl, @line) = @_;
my $l = 0;
$line[0] =~ s/^( +)//;
prefixline($lvl * $indent + length($1));
$l = length($1) if($1);
prefixline($lvl * $indent + $l);
my $prev = 0;
for(@line) {
printf "%s%s", $prev?" ":"", $_;
@@ -174,9 +179,11 @@ sub printdesc {
}
else {
my $p = -1;
my $para;
my $pnum;
my $para = '';
for my $l (@desc) {
my $lvl;
my $lvl = 0;
my $lvlnum;
if($l !~ /^[\n\r]+/) {
# get the indent level off the string
$l =~ s/^\[([0-9q]*)\]//;
@@ -186,15 +193,19 @@ sub printdesc {
# the previous was quoted, this is not
print "\n";
}
if($lvl != $p) {
outputpara($baselvl + $p, $para);
if($lvl ne $p) {
$pnum = $p;
$pnum =~ s/q$//;
outputpara($baselvl + $pnum, $para);
$para = "";
}
if($lvl =~ /q/) {
# quoted, do not right-justify
chomp $l;
lastline($baselvl + $lvl + 1, $l);
my $w = ($baselvl + $lvl + 1) * $indent + length($l);
$lvlnum = $lvl;
$lvlnum =~ s/q$//;
lastline($baselvl + $lvlnum + 1, $l);
my $w = ($baselvl + $lvlnum + 1) * $indent + length($l);
if($w > $colwidth) {
print STDERR "ERROR: $w columns is too long\n";
print STDERR "$l\n";
@@ -207,7 +218,9 @@ sub printdesc {
$p = $lvl;
}
outputpara($baselvl + $p, $para);
$pnum = $p;
$pnum =~ s/q$//;
outputpara($baselvl + $pnum, $para);
}
}
@@ -281,10 +294,11 @@ sub render {
my $header = 0;
# if $top is TRUE, it means a top-level page and not a command line option
my $top = ($line == 1);
my $quote;
my $level;
my $quote = 0;
my $level = 0;
my $finalblank;
$start = 0;
my $blankline = 0;
my $start = 0;
while(<$fh>) {
my $d = $_;
@@ -575,7 +589,7 @@ sub single {
$protocols=$1;
}
elsif(/^See-also: +(.+)/i) {
if($seealso) {
if(@seealso) {
print STDERR "ERROR: duplicated See-also in $f\n";
return 1;
}
@@ -666,10 +680,6 @@ sub single {
my @desc = render($manpage, $fh, $f, $line);
close($fh);
if($tablemode) {
# end of table
push @desc, ".RE\n.IP\n";
}
my $opt;
if(defined($short) && $long) {
@@ -802,7 +812,7 @@ sub single {
my @m=split(/ /, $mutexed);
my $mstr;
my $num = scalar(@m);
my $count;
my $count = 0;
for my $k (@m) {
if(!$helplong{$k}) {
print STDERR "WARN: $f mutexes a non-existing option: $k\n";
@@ -876,13 +886,13 @@ sub single {
push @foot, seealso($standalone, $mstr);
print "\n";
my $f = join("", @foot);
my $ft = join("", @foot);
if($manpage) {
$f =~ s/ +\z//; # remove trailing space
print "$f\n";
$ft =~ s/ +\z//; # remove trailing space
print "$ft\n";
}
else {
printdesc($manpage, 2, "[1]$f");
printdesc($manpage, 2, "[1]$ft");
}
return 0;
}
@@ -950,8 +960,8 @@ sub getshortlong {
sub indexoptions {
my ($dir, @files) = @_;
foreach my $f (@files) {
getshortlong($dir, $f);
foreach my $file (@files) {
getshortlong($dir, $file);
}
}
@@ -1122,7 +1132,6 @@ sub listglobals {
}
close(F);
}
return $ret if($ret);
for my $e (0 .. $#globalopts) {
$globals .= sprintf "%s--%s", $e?($globalopts[$e+1] ? ", " : " and "):"",
$globalopts[$e],;
@@ -1257,7 +1266,7 @@ sub getargs {
my $dir = ".";
my $include = "../../include";
my $cmd = shift @ARGV;
my $cmd = shift @ARGV || '';
check:
if($cmd eq "-d") {

View File

@@ -23,6 +23,9 @@
#
###########################################################################
use strict;
use warnings;
my %whitelist = (
'https://curl.se/' => 1,
'https://curl.se/changes.html' => 1,
@@ -70,6 +73,9 @@ my %whitelist = (
);
my %url;
my %flink;
# list all .md files in the repo
my @files=`git ls-files '**.md'`;
@@ -127,6 +133,7 @@ sub checkurl {
print "check $url\n";
my $curlcmd="curl -ILfsm10 --retry 2 --retry-delay 5 -A \"Mozilla/curl.se link-probe\"";
$url =~ s/\+/%2B/g;
my @content = `$curlcmd \"$url\"`;
if(!$content[0]) {
print STDERR "FAIL\n";
@@ -146,7 +153,7 @@ for my $u (sort keys %url) {
my $r = checkurl($u);
if($r) {
for my $f (split(/ /, $url{$l})) {
for my $f (split(/ /, $url{$u})) {
printf "%s ERROR links to missing URL %s\n", $f, $u;
$error++;
}

View File

@@ -36,6 +36,9 @@ for code.
=end comment
=cut
use strict;
use warnings;
my $nroff2cd = "0.1"; # to keep check
sub single {
@@ -189,4 +192,6 @@ HEAD
return !$header;
}
exit single($ARGV[0]);
if(@ARGV) {
exit single($ARGV[0]);
}

View File

@@ -20,8 +20,13 @@
# - edit the @tls array to include all TLS backends you can build with
# - do a checkout in a ram-based filesystem
#
use strict;
use warnings;
use List::Util qw/shuffle/;
my @disable;
sub getoptions {
my @all = `./configure --help`;
for my $o (@all) {

View File

@@ -54,7 +54,10 @@
#
################################################
my $cleanup = ($ARGV[0] eq "cleanup");
use strict;
use warnings;
my $cleanup = (@ARGV && $ARGV[0] eq "cleanup");
my @gitlog=`git log @^{/RELEASE-NOTES:.synced}..` if(!$cleanup);
my @releasenotes=`cat RELEASE-NOTES`;
@@ -120,6 +123,12 @@ sub extract {
# false alarm, not a valid line
}
my @fixes;
my @closes;
my @bug;
my @line;
my %moreinfo;
my $short;
my $first;
for my $l (@gitlog) {
@@ -167,7 +176,7 @@ if($first) {
# call at the end of a parsed commit
sub onecommit {
my ($short)=@_;
my $ref;
my $ref = '';
if($dupe{$short}) {
# this git commit message was found in the file

View File

@@ -33,13 +33,16 @@
# --unit : built to support unit tests
#
use strict;
use warnings;
my $unittests;
if($ARGV[0] eq "--unit") {
if(@ARGV && $ARGV[0] eq "--unit") {
$unittests = "tests/unit ";
shift @ARGV;
}
my $file = $ARGV[0];
my $file = $ARGV[0] || '';
my %wl = (
'Curl_xfer_write_resp' => 'internal api',
@@ -178,7 +181,6 @@ open(N, "nm $file|") ||
my %exist;
my %uses;
my $file;
while(<N>) {
my $l = $_;
chomp $l;
@@ -204,7 +206,7 @@ while(<N>) {
}
close(N);
my $err;
my $err = 0;
for(sort keys %exist) {
#printf "%s is defined in %s, used by: %s\n", $_, $exist{$_}, $uses{$_};
if(!$uses{$_}) {

View File

@@ -23,8 +23,11 @@
#
###########################################################################
use strict;
use warnings;
my $varname = "var";
if($ARGV[0] eq "--var") {
if(@ARGV && $ARGV[0] eq "--var") {
shift;
$varname = shift @ARGV;
}

View File

@@ -23,11 +23,17 @@
#
###########################################################################
if($ARGV[0] eq "-c") {
$c=1;
use strict;
use warnings;
my $c = 0;
if(@ARGV && $ARGV[0] eq "-c") {
$c = 1;
shift @ARGV;
}
my @out;
push @out, " _ _ ____ _\n";
push @out, " ___| | | | _ \\| |\n";
push @out, " / __| | | | |_) | |\n";
@@ -67,8 +73,8 @@ if($c)
my $gzippedContent;
IO::Compress::Gzip::gzip(
\$content, \$gzippedContent, Level => 9, TextFlag => 1, Time=>0) or die "gzip failed:";
$gzip = length($content);
$gzipped = length($gzippedContent);
my $gzip = length($content);
my $gzipped = length($gzippedContent);
print <<HEAD
#include <zlib.h>

View File

@@ -22,9 +22,14 @@
#
###########################################################################
# populate the has %pastversion hash table with the version number as key and
# populate the %pastversion hash table with the version number as key and
# release date as value
use strict;
use warnings;
our %pastversion;
sub allversions {
my ($file) = @_;
open(A, "<$file") ||

View File

@@ -23,6 +23,9 @@
#
#***************************************************************************
use strict;
use warnings;
# This script invokes nghttpx properly to have it serve HTTP/2 for us.
# nghttpx runs as a proxy in front of our "actual" HTTP/1 server.
use Cwd;

View File

@@ -23,6 +23,9 @@
#
#***************************************************************************
use strict;
use warnings;
# This script invokes nghttpx properly to have it serve HTTP/3 for us.
# nghttpx runs as a proxy in front of our "actual" HTTP/1 server.

View File

@@ -22,6 +22,8 @@
# SPDX-License-Identifier: curl
#
###########################################################################
use strict;
use warnings;
# Usage:
# perl mk-lib1521.pl < ../../include/curl/curl.h lib1521.c
@@ -363,6 +365,8 @@ static CURLcode test_lib1521(char *URL)
HEADER
;
my $infomode = 0;
while(<STDIN>) {
s/^\s*(.*?)\s*$/$1/; # Trim.
# Remove multi-line comment trail.

View File

@@ -22,6 +22,9 @@
# SPDX-License-Identifier: curl
#
###########################################################################
use strict;
use warnings;
# Determine if curl-config --protocols/--features matches the
# curl --version protocols/features
if($#ARGV != 2) {
@@ -41,7 +44,7 @@ close CURL;
$curl_protocols =~ s/\r//;
$curl_protocols =~ /\w+: (.*)$/;
@curl = split / /,$1;
my @curl = split / /,$1;
# Read the output of curl-config
my @curl_config;

View File

@@ -22,6 +22,9 @@
# SPDX-License-Identifier: curl
#
###########################################################################
use strict;
use warnings;
# Determine if curl-config --version matches the curl --version
if($#ARGV != 2) {
print "Usage: $0 curl-config-script curl-version-output-file version|vernum\n";

View File

@@ -22,12 +22,15 @@
# SPDX-License-Identifier: curl
#
###########################################################################
use strict;
use warnings;
# Determine if the given curl executable supports the 'openssl' SSL engine
if($#ARGV != 0) {
print "Usage: $0 curl-executable\n";
exit 3;
}
if(!open(CURL, "@ARGV[0] -s --engine list|")) {
if(!open(CURL, "$ARGV[0] -s --engine list|")) {
print "Can't get SSL engine list\n";
exit 2;
}

View File

@@ -22,6 +22,9 @@
# SPDX-License-Identifier: curl
#
###########################################################################
use strict;
use warnings;
# Perform simple file and directory manipulation in a portable way
if($#ARGV <= 0) {
print "Usage: $0 mkdir|rmdir|rm|move|gone path1 [path2] [more commands...]\n";

View File

@@ -22,6 +22,9 @@
# SPDX-License-Identifier: curl
#
###########################################################################
use strict;
use warnings;
# Prepare a directory with known files and clean up afterwards
use Time::Local;

View File

@@ -29,17 +29,22 @@
# MEM mprintf.c:1103 realloc(e5718, 64) = e6118
# MEM sendf.c:232 free(f6520)
use strict;
use warnings;
my $mallocs=0;
my $callocs=0;
my $reallocs=0;
my $strdups=0;
my $wcsdups=0;
my $showlimit;
my $showlimit=0;
my $sends=0;
my $recvs=0;
my $sockets=0;
my $verbose=0;
my $trace=0;
while(1) {
while(@ARGV) {
if($ARGV[0] eq "-v") {
$verbose=1;
shift @ARGV;
@@ -70,7 +75,7 @@ sub newtotal {
}
}
my $file = $ARGV[0];
my $file = $ARGV[0] || '';
if(! -f $file) {
print "Usage: memanalyze.pl [options] <dump file>\n",
@@ -94,11 +99,36 @@ if($showlimit) {
exit;
}
my %sizeataddr;
my %getmem;
my $lnum=0;
my $totalmem = 0;
my $frees = 0;
my $dup;
my $size;
my $addr;
my %filedes;
my %getfile;
my %fopen;
my %fopenfile;
my $openfile = 0;
my $fopens = 0;
my %addrinfo;
my %addrinfofile;
my $addrinfos = 0;
my $source;
my $linenum;
my $function;
my $lnum = 0;
while(<$fileh>) {
chomp $_;
$line = $_;
my $line = $_;
$lnum++;
if($line =~ /^LIMIT ([^ ]*):(\d*) (.*)/) {
# new memory limit test prefix
@@ -145,13 +175,13 @@ while(<$fileh>) {
$size = $1;
$addr = $2;
if($sizeataddr{$addr}>0) {
if($sizeataddr{$addr} && $sizeataddr{$addr}>0) {
# this means weeeeeirdo
print "Mixed debug compile ($source:$linenum at line $lnum), rebuild curl now\n";
print "We think $sizeataddr{$addr} bytes are already allocated at that memory address: $addr!\n";
}
$sizeataddr{$addr}=$size;
$sizeataddr{$addr} = $size;
$totalmem += $size;
$memsum += $size;
@@ -169,8 +199,8 @@ while(<$fileh>) {
$size = $1*$2;
$addr = $3;
$arg1 = $1;
$arg2 = $2;
my $arg1 = $1;
my $arg2 = $2;
if($sizeataddr{$addr}>0) {
# this means weeeeeirdo

View File

@@ -1722,7 +1722,7 @@ sub singletest_check {
$ok .= "m";
}
my @more=`$memanalyze -v "$logdir/$MEMDUMP"`;
my $allocs;
my $allocs = 0;
my $max = 0;
for(@more) {
if(/^Allocations: (\d+)/) {

View File

@@ -26,7 +26,10 @@
# scan manpages to find basic syntactic problems such as unbalanced \f
# codes or references to non-existing curl manpages.
my $docsroot = $ARGV[0];
use strict;
use warnings;
my $docsroot = $ARGV[0] || '.';
if(!$docsroot || ($docsroot eq "-g")) {
print "Usage: test1140.pl <docs root dir> [manpages]\n";
@@ -40,6 +43,8 @@ my @f = @ARGV;
my %manp;
my $errors = 0;
sub manpresent {
my ($man) = @_;
if($manp{$man}) {
@@ -111,4 +116,4 @@ foreach my $f (@f) {
print "OK\n" if(!$errors);
exit $errors?1:0;
exit ($errors ? 1 : 0);

View File

@@ -27,7 +27,7 @@ use strict;
use warnings;
# we may get the dir root pointed out
my $root=$ARGV[0] || ".";
my $root = $ARGV[0] || ".";
my %error; # from the include file
my %docs; # from libcurl-errors.3

View File

@@ -23,11 +23,14 @@
#
###########################################################################
use strict;
use warnings;
my $root=$ARGV[0] || "..";
my @m = `git ls-files -- $root`;
my $errors;
my $errors = 0;
my %accepted=('curl' => 1,
'libcurl' => 1,
@@ -45,7 +48,7 @@ sub checkfile {
}
open(my $fh, "<", "$f");
my $l;
my $prevl;
my $prevl = '';
my $ignore = 0;
my $metadata = 0;
while(<$fh>) {

View File

@@ -23,13 +23,16 @@
#
###########################################################################
use strict;
use warnings;
sub showline {
my ($l) = @_;
$l =~ s/([^\x20-\x7f])/sprintf "%%%02x", ord $1/eg;
return $l;
}
my $root = $ARGV[0];
my $root = $ARGV[0] || '..';
open(my $fh, "-|", "perl $root/lib/optiontable.pl < $root/include/curl/curl.h");
binmode $fh;

View File

@@ -27,6 +27,7 @@
# a late evening in the #curl IRC channel.
#
use strict;
use warnings;
use vars qw($Cpreprocessor);
use allversions;
@@ -52,7 +53,7 @@ my $root=$ARGV[0] || ".";
# need an include directory when building out-of-tree
my $i = ($ARGV[1]) ? "-I$ARGV[1] " : '';
my $error;
my $error = 0;
my $versions = $ARGV[2];
@@ -60,6 +61,8 @@ my @syms;
my %manpage;
my %symadded;
our %pastversion;
sub checkmanpage {
my ($m) = @_;

View File

@@ -98,7 +98,7 @@ while(<R>) {
}
close(R);
my $error;
my $error = 0;
if(scalar(@curlout) != scalar(@txtout)) {
printf "curl -h $opt is %d lines, $txt says %d lines\n",
scalar(@curlout), scalar(@txtout);

View File

@@ -29,12 +29,19 @@
# $cmddir
#
use strict;
use warnings;
use allversions;
my $opts = $ARGV[0];
my $cmddir = $ARGV[1];
my $versions = $ARGV[2];
my %file;
my %oiv;
my $error = 0;
sub cmdfiles {
my ($dir)=@_;
@@ -93,6 +100,8 @@ sub versioncheck {
close($fh);
}
our %pastversion;
# get all the past versions
allversions($versions);

View File

@@ -61,6 +61,7 @@
#
use strict;
use warnings;
use Cwd;
use File::Spec;
@@ -76,6 +77,9 @@ use vars qw($name $email $desc $confopts $runtestopts $setupfile $mktarball
$extvercmd $nogitpull $nobuildconf $crosscompile
$timestamp $notes);
$notes='';
$runtestopts='';
# version of this script
$version='2024-11-28';
$fixed=0;
@@ -338,20 +342,20 @@ logit "DESC = $desc";
logit "NOTES = $notes";
logit "CONFOPTS = $confopts";
logit "RUNTESTOPTS = ".$runtestopts;
logit "CPPFLAGS = ".$ENV{CPPFLAGS};
logit "CFLAGS = ".$ENV{CFLAGS};
logit "LDFLAGS = ".$ENV{LDFLAGS};
logit "LIBS = ".$ENV{LIBS};
logit "CC = ".$ENV{CC};
logit "TMPDIR = ".$ENV{TMPDIR};
logit "MAKEFLAGS = ".$ENV{MAKEFLAGS};
logit "ACLOCAL_FLAGS = ".$ENV{ACLOCAL_FLAGS};
logit "PKG_CONFIG_PATH = ".$ENV{PKG_CONFIG_PATH};
logit "DYLD_LIBRARY_PATH = ".$ENV{DYLD_LIBRARY_PATH};
logit "LD_LIBRARY_PATH = ".$ENV{LD_LIBRARY_PATH};
logit "LIBRARY_PATH = ".$ENV{LIBRARY_PATH};
logit "SHLIB_PATH = ".$ENV{SHLIB_PATH};
logit "LIBPATH = ".$ENV{LIBPATH};
logit "CPPFLAGS = ".($ENV{CPPFLAGS} || '');
logit "CFLAGS = ".($ENV{CFLAGS} || '');
logit "LDFLAGS = ".($ENV{LDFLAGS} || '');
logit "LIBS = ".($ENV{LIBS} || '');
logit "CC = ".($ENV{CC} || '');
logit "TMPDIR = ".($ENV{TMPDIR} || '');
logit "MAKEFLAGS = ".($ENV{MAKEFLAGS} || '');
logit "ACLOCAL_FLAGS = ".($ENV{ACLOCAL_FLAGS} || '');
logit "PKG_CONFIG_PATH = ".($ENV{PKG_CONFIG_PATH} || '');
logit "DYLD_LIBRARY_PATH = ".($ENV{DYLD_LIBRARY_PATH} || '');
logit "LD_LIBRARY_PATH = ".($ENV{LD_LIBRARY_PATH} || '');
logit "LIBRARY_PATH = ".($ENV{LIBRARY_PATH} || '');
logit "SHLIB_PATH = ".($ENV{SHLIB_PATH} || '');
logit "LIBPATH = ".($ENV{LIBPATH} || '');
logit "target = ".$targetos;
logit "version = $version"; # script version
logit "date = $timestamp"; # When the test build starts