Previously this test only scanned a subset of the headers, which made us
accidentally miss symbols that were provided in the others. Now, the script
iterates over all headers present in include/curl.
Closes #9544
# need an include directory when building out-of-tree
my $i = ($ARGV[1]) ? "-I$ARGV[1] " : '';
-my $h = "$root/include/curl/curl.h";
-my $mh = "$root/include/curl/multi.h";
-my $ua = "$root/include/curl/urlapi.h";
-my $hd = "$root/include/curl/header.h";
-
my $verbose=0;
my $summary=0;
my $misses=0;
close H;
}
-scanenum($h);
-scanheader($h);
-scanheader($mh);
-scanheader($ua);
-scanheader($hd);
+sub scanallheaders {
+ my $d = "$root/include/curl";
+ opendir(my $dh, $d) ||
+ die "Can't opendir: $!";
+ my @headers = grep { /.h\z/ } readdir($dh);
+ closedir $dh;
+ foreach my $h (@headers) {
+ scanenum("$d/$h");
+ scanheader("$d/$h");
+ }
+}
+
+scanallheaders();
open S, "<$root/docs/libcurl/symbols-in-versions";
while(<S>) {