badwords: re-sync with curl-www, fix issues found

Also:
- replace `manpage` with `man page`, add to `badwords.txt`.
- badwords.pl: import `-w` feature from curl-www, syncing the two
  scripts fully.
- badwords.txt: import missing items from curl-www, syncing the two
  files fully.
- pyspelling.words: drop `cURL` allowed word.

Closes #19468
This commit is contained in:
Viktor Szakats
2025-11-11 17:43:06 +01:00
parent ebc5fea64d
commit 4841e4290d
27 changed files with 109 additions and 78 deletions

View File

@@ -21,6 +21,24 @@ my @whitelist;
my %alt;
my %exactcase;
my %wl;
if($ARGV[0] eq "-w") {
shift @ARGV;
my $file = shift @ARGV;
open(W, "<$file");
while(<W>) {
if(/^#/) {
# allow #-comments
next;
}
if(/^([^:]*):(\d+):(.*)/) {
$wl{"$1:$2:$3"}=1;
#print STDERR "whitelisted $1:$2:$3\n";
}
}
close(W);
}
my @w;
while(<STDIN>) {
chomp;
@@ -30,7 +48,7 @@ while(<STDIN>) {
if($_ =~ /^---(.*)/) {
push @whitelist, $1;
}
elsif($_ =~ /^([^:=]*)([:=])(.*)/) {
elsif($_ =~ /^(.*)([:=])(.*)/) {
my ($bad, $sep, $better)=($1, $2, $3);
push @w, $bad;
$alt{$bad} = $better;
@@ -67,6 +85,14 @@ sub file {
($in =~ /^(.*)$w/ && $case) ) {
my $p = $1;
my $c = length($p)+1;
my $ch = "$f:$l:$w";
if($wl{$ch}) {
# whitelisted
print STDERR "$ch found but whitelisted\n";
next;
}
print STDERR "$f:$l:$c: error: found bad word \"$w\"\n";
printf STDERR " %4d | $in\n", $l;
printf STDERR " | %*s^%s\n", length($p), " ",

View File

@@ -3,7 +3,7 @@
# SPDX-License-Identifier: curl
#
back-end:backend
e-mail:email
\be-mail[^/]:email
run-time:runtime
set-up:setup
tool chain:toolchain
@@ -36,7 +36,7 @@ aren't:are not
a IPv4: an IPv4
a IPv6: an IPv6
url =URL
internet\b=Internet
[^/]internet\b=Internet
isation:ization
\bit's:it is
it'd:it would
@@ -47,12 +47,14 @@ there's:there is
\. So : Rewrite without "so" ?
dir :directory
sub-director:subdirector
you'd:you would
you'll:you will
can't:cannot
that's:that is
web page:webpage
host name\b:hostname
host names\b:hostnames
file name\b:filename
[^;]file name\b:filename
file names\b:filenames
\buser name\b:username
\buser names\b:usernames
@@ -70,7 +72,11 @@ couldn't:could not
32-bits:32 bits or 32-bit
\bvery\b:rephrase using an alternative word
\bCurl\b=curl
\bcURL\b=curl
\bLibcurl\b=libcurl
\bLibCurl\b=libcurl
---WWW::Curl
---NET::Curl
---Curl Corporation
\bmanpages[^./&:-]:man pages
\bmanpage[^si./&:-]:man page

View File

@@ -149,7 +149,6 @@ CSeq
csh
cshrc
CTRL
cURL
CURLcode
curldown
CURLE

View File

@@ -12,7 +12,7 @@ HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
Learn how to use curl by reading [the
manpage](https://curl.se/docs/manpage.html) or [everything
man page](https://curl.se/docs/manpage.html) or [everything
curl](https://everything.curl.dev/).
Find out how to install curl by reading [the INSTALL
@@ -20,7 +20,7 @@ document](https://curl.se/docs/install.html).
libcurl is the library curl is using to do its job. It is readily available to
be used by your software. Read [the libcurl
manpage](https://curl.se/libcurl/c/libcurl.html) to learn how.
man page](https://curl.se/libcurl/c/libcurl.html) to learn how.
## Open Source

View File

@@ -73,7 +73,7 @@ Go: [go-curl](https://github.com/andelf/go-curl) by ShuYu Wang
[LibQurl](https://github.com/Qriist/LibQurl) a feature rich AutoHotKey v2 (AHKv2) wrapper around libcurl.
Lua: [luacurl](https://web.archive.org/web/20201205052437/luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](https://github.com/Lua-cURL) by Jürgen Hötzel
Lua: [luacurl](https://web.archive.org/web/20201205052437/luacurl.luaforge.net/) by Alexander Marinov, [Lua-curl](https://github.com/Lua-cURL) by Jürgen Hötzel
[Mono](https://web.archive.org/web/20070606064500/forge.novell.com/modules/xfmod/project/?libcurl-mono) Written by Jeffrey Phillips
@@ -98,7 +98,7 @@ Bailiff and Bálint Szilakszi,
[PostgreSQL](https://github.com/pramsey/pgsql-http) - HTTP client for PostgreSQL
[PostgreSQL](https://github.com/RekGRpth/pg_curl) - cURL client for PostgreSQL
[PostgreSQL](https://github.com/RekGRpth/pg_curl) - curl client for PostgreSQL
[PureBasic](https://web.archive.org/web/20250325015028/www.purebasic.com/documentation/http/index.html) uses libcurl in its "native" HTTP subsystem

View File

@@ -111,8 +111,8 @@ projects but someone's gotta do it. It makes things a lot easier if you submit
a small description of your fix or your new features with every contribution
so that it can be swiftly added to the package documentation.
Documentation is mostly provided as manpages or plain ASCII files. The
manpages are rendered from their source files that are usually written using
Documentation is mostly provided as man pages or plain ASCII files. The
man pages are rendered from their source files that are usually written using
markdown. Most HTML files on the website and in the release archives are
generated from corresponding markdown and ASCII files.
@@ -289,7 +289,7 @@ Just ask if this is what you would want. You are required to have posted
several high quality patches first, before you can be granted push access.
## Useful resources
- [Webinar on getting code into cURL](https://www.youtube.com/watch?v=QmZ3W1d6LQI)
- [Webinar on getting code into curl](https://www.youtube.com/watch?v=QmZ3W1d6LQI)
# Update copyright and license information

View File

@@ -188,9 +188,9 @@ unless it is specific to Homebrew's way of packaging software.
*Rolling Release*
- curl: https://github.com/lordmulder/cURL-build-win32
- curl issues: https://github.com/lordmulder/cURL-build-win32/issues
- curl patches: https://github.com/lordmulder/cURL-build-win32/tree/master/patch
- curl: https://github.com/lordmulder/curl-build-win32
- curl issues: https://github.com/lordmulder/curl-build-win32/issues
- curl patches: https://github.com/lordmulder/curl-build-win32/tree/master/patch
## NixOS

View File

@@ -7,7 +7,7 @@
FAQ
1. Philosophy
1.1 What is cURL?
1.1 What is curl?
1.2 What is libcurl?
1.3 What is curl not?
1.4 When will you make curl do XXXX ?
@@ -123,15 +123,15 @@ FAQ
1. Philosophy
1.1 What is cURL?
1.1 What is curl?
cURL is the name of the project. The name is a play on 'Client for URLs',
curl is the name of the project. The name is a play on 'Client for URLs',
originally with URL spelled in uppercase to make it obvious it deals with
URLs. The fact it can also be read as 'see URL' also helped, it works as
an abbreviation for "Client URL Request Library" or why not the recursive
version: "curl URL Request Library".
The cURL project produces two products:
The curl project produces two products:
libcurl
@@ -247,7 +247,7 @@ FAQ
1.6 What do you get for making curl?
Project cURL is entirely free and open. We do this voluntarily, mostly in
Project curl is entirely free and open. We do this voluntarily, mostly in
our spare time. Companies may pay individual developers to work on curl.
This is not controlled by nor supervised in any way by the curl project.
@@ -326,7 +326,7 @@ FAQ
1.11 Why do you not update ca-bundle.crt
In the cURL project we have decided not to attempt to keep this file updated
In the curl project we have decided not to attempt to keep this file updated
(or even present) since deciding what to add to a ca cert bundle is an
undertaking we have not been ready to accept, and the one we can get from
Mozilla is perfectly fine so there is no need to duplicate that work.
@@ -548,7 +548,7 @@ FAQ
https://curl.se/libcurl/
All the various bindings to libcurl are made by other projects and people,
outside of the cURL project. The cURL project itself only produces libcurl
outside of the curl project. The curl project itself only produces libcurl
with its plain C API. If you do not find anywhere else to ask you can ask
about bindings on the curl-library list too, but be prepared that people on
that list may not know anything about bindings.
@@ -1496,7 +1496,7 @@ FAQ
The module for PHP that makes it possible for PHP programs to access curl-
functions from within PHP.
In the cURL project we call this module PHP/CURL to differentiate it from
In the curl project we call this module PHP/CURL to differentiate it from
curl the command line tool and libcurl the library. The PHP team however
does not refer to it like this (for unknown reasons). They call it plain
CURL (often using all caps) or sometimes ext/curl, but both cause much

View File

@@ -43,9 +43,9 @@ in this link:
`http://127.0.0.1:8080/ipfs/bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi`
## cURL handling of the IPFS protocols
## curl handling of the IPFS protocols
The IPFS integration in cURL hides this gateway logic for you. Instead of
The IPFS integration in curl hides this gateway logic for you. Instead of
providing a full URL to a file on IPFS like this:
```
@@ -57,7 +57,7 @@ You can provide it with the IPFS protocol instead:
curl ipfs://bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi
```
With the IPFS protocol way of asking a file, cURL still needs to know the
With the IPFS protocol way of asking a file, curl still needs to know the
gateway. curl essentially just rewrites the IPFS based URL to a gateway URL.
### IPFS_GATEWAY environment variable
@@ -67,7 +67,7 @@ gateway.
### Automatic gateway detection
When you provide no additional details to cURL then it:
When you provide no additional details to curl then it:
1. First looks for the `IPFS_GATEWAY` environment variable and use that if it
is set.
@@ -75,12 +75,12 @@ When you provide no additional details to cURL then it:
means that you have a local gateway running and that file contains the URL
to your local gateway.
If cURL fails, you are presented with an error message and a link to this page
If curl fails, you are presented with an error message and a link to this page
to the option most applicable to solving the issue.
### `--ipfs-gateway` argument
You can also provide a `--ipfs-gateway` argument to cURL. This overrules any
You can also provide a `--ipfs-gateway` argument to curl. This overrules any
other gateway setting. curl does not fallback to the other options if the
provided gateway did not work.
@@ -107,21 +107,21 @@ option follows the redirect.
## Error messages and hints
Depending on the arguments, cURL could present the user with an error.
Depending on the arguments, curl could present the user with an error.
### Gateway file and environment variable
cURL tried to look for the file: `~/.ipfs/gateway` but could not find it. It
curl tried to look for the file: `~/.ipfs/gateway` but could not find it. It
also tried to look for the `IPFS_GATEWAY` environment variable but could not
find that either. This happens when no extra arguments are passed to cURL and
find that either. This happens when no extra arguments are passed to curl and
letting it try to figure it out [automatically](#automatic-gateway-detection).
Any IPFS implementation that has gateway support should expose its URL in
`~/.ipfs/gateway`. If you are already running a gateway, make sure it exposes
the file where cURL expects to find it.
the file where curl expects to find it.
Alternatively you could set the `IPFS_GATEWAY` environment variable or pass
the `--ipfs-gateway` flag to the cURL command.
the `--ipfs-gateway` flag to the curl command.
### Malformed gateway URL

View File

@@ -40,7 +40,7 @@ GN_ = $(GN_0)
MANAGEN=$(top_srcdir)/scripts/managen
MAXLINE=$(top_srcdir)/scripts/maxline
# Maximum number of columns accepted in the ASCII version of the manpage
# Maximum number of columns accepted in the ASCII version of the man page
INCDIR=$(top_srcdir)/include
if BUILD_DOCS

View File

@@ -50,7 +50,7 @@ CURL_EXTERN void curl_easy_cleanup(CURL *curl);
*
* Request internal information from the curl session with this function.
* The third argument MUST be pointing to the specific type of the used option
* which is documented in each manpage of the option. The data pointed to
* which is documented in each man page of the option. The data pointed to
* will be filled in accordingly and can be relied upon only if the function
* returns CURLE_OK. This function is intended to get used *AFTER* a performed
* transfer, all results from this function are undefined until the transfer

View File

@@ -278,7 +278,7 @@ CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
* Desc: An alternative version of curl_multi_perform() that allows the
* application to pass in one of the file descriptors that have been
* detected to have "action" on them and let libcurl perform.
* See manpage for details.
* See man page for details.
*/
#define CURL_POLL_NONE 0
#define CURL_POLL_IN 1

View File

@@ -88,7 +88,7 @@
/* How long we are willing to wait for additional parallel responses after
obtaining a "definitive" one. For old c-ares without getaddrinfo.
This is intended to equal the c-ares default timeout. cURL always uses that
This is intended to equal the c-ares default timeout. curl always uses that
default value. Unfortunately, c-ares does not expose its default timeout in
its API, but it is officially documented as 5 seconds.

View File

@@ -2395,7 +2395,7 @@ static CURLcode ossl_verifyhost(struct Curl_easy *data,
switch(target) {
case GEN_DNS: /* name/pattern comparison */
/* The OpenSSL manpage explicitly says: "In general it cannot be
/* The OpenSSL man page explicitly says: "In general it cannot be
assumed that the data returned by ASN1_STRING_data() is null
terminated or does not contain embedded nulls." But also that
"The actual format of the data will depend on the actual string
@@ -4126,7 +4126,7 @@ CURLcode Curl_ossl_ctx_init(struct ossl_ctx *octx,
/* OpenSSL contains code to work around lots of bugs and flaws in various
SSL-implementations. SSL_CTX_set_options() is used to enabled those
work-arounds. The manpage for this option states that SSL_OP_ALL enables
work-arounds. The man page for this option states that SSL_OP_ALL enables
all the work-arounds and that "It is usually safe to use SSL_OP_ALL to
enable the bug workaround options if compatibility with somewhat broken
implementations is desired."

View File

@@ -25,7 +25,7 @@
=begin comment
Converts a curldown file to nroff (manpage).
Converts a curldown file to nroff (man page).
=end comment
=cut
@@ -431,7 +431,7 @@ sub single {
# convert backslash-'<' or '> to just the second character
$d =~ s/\\([<>])/$1/g;
# mentions of curl symbols with manpages use italics by default
# mentions of curl symbols with man pages use italics by default
$d =~ s/((lib|)curl([^ ]*\(3\)))/\\fI$1\\fP/gi;
# backticked becomes italics

View File

@@ -25,7 +25,7 @@
=begin comment
This script generates the manpage.
This script generates the man page.
Example: managen <command> [files] > curl.1
@@ -64,7 +64,7 @@ my $globals;
my $error = 0;
my $indent = 4;
# get the long name version, return the manpage string
# get the long name version, return the man page string
sub manpageify {
my ($k, $manpage)=@_;
my $trail = '';
@@ -412,7 +412,7 @@ sub render {
print STDERR "$f:$line:1:WARN: un-escaped < or > used: $nontick\n";
}
# if there is a space, it needs quotes for manpage
# if there is a space, it needs quotes for man page
if(($word =~ / /) && $manpage) {
$word = "\"$word\"";
}
@@ -1253,7 +1253,7 @@ sub mainpage {
.\\" *
.\\" **************************************************************************
.\\"
.\\" DO NOT EDIT. Generated by the curl project managen manpage generator.
.\\" DO NOT EDIT. Generated by the curl project managen man page generator.
.\\"
.TH curl 1 "$date" "curl $version" "curl Manual"
HEADER

View File

@@ -1400,7 +1400,7 @@ static ParameterError parse_range(struct OperationConfig *config,
if(!curlx_str_number(&nextarg, &value, CURL_OFF_T_MAX) &&
curlx_str_single(&nextarg, '-')) {
/* Specifying a range WITHOUT A DASH will create an illegal HTTP range
(and will not actually be range by definition). The manpage previously
(and will not actually be range by definition). The man page previously
claimed that to be a good way, why this code is added to work-around
it. */
char buffer[32];

View File

@@ -11,7 +11,7 @@ documentation
# Client-side
<client>
<name>
Verify the nroff of manpages
Verify the nroff of man pages
</name>
<command type="perl">

View File

@@ -11,7 +11,7 @@ manpages
# Client-side
<client>
<name>
symbols-in-versions and manpages agree on added-in versions
symbols-in-versions and man pages agree on added-in versions
</name>
<command type="perl">

View File

@@ -12,7 +12,7 @@ managen
<client>
<name>
managen makes manpage
managen makes man page
</name>
<file name="%LOGDIR/mainpage.idx">
@@ -191,7 +191,7 @@ option2.md:15:1:WARN: see-also a non-existing option: proto-default
.\" *
.\" **************************************************************************
.\"
.\" DO NOT EDIT. Generated by the curl project managen manpage generator.
.\" DO NOT EDIT. Generated by the curl project managen man page generator.
.\"
.TH curl 1 "%DATE" "curl %VERNUM" "curl Manual"
.SH DESCRIPTION

View File

@@ -308,7 +308,7 @@ fi
echo "have_portsblocked: $have_portsblocked"
} >> "$logfile"
echo "curl: have $have_curl, cURL command: |$CURL ${CURL_PARAMS[*]}|"
echo "curl: have $have_curl, curl command: |$CURL ${CURL_PARAMS[*]}|"
echo "ossl: have: $have_ossl, using: $using_ossl"
echo "wolf: have: $have_wolf, using: $using_wolf"
echo "bssl: have: $have_bssl, using: $using_bssl"

View File

@@ -26,7 +26,7 @@
*
* This test case checks whether curl_multi_remove_handle() cancels
* asynchronous DNS resolvers without blocking where possible. Obviously, it
* only tests whichever resolver cURL is actually built with.
* only tests whichever resolver curl is actually built with.
*/
/* We're willing to wait a very generous two seconds for the removal. This is

View File

@@ -24,12 +24,12 @@
###########################################################################
#
# Scan symbols-in-version (which is verified to be correct by test 1119), then
# verify that each option mention in there that should have its own manpage
# verify that each option mention in there that should have its own man page
# actually does.
#
# In addition, make sure that every current option to curl_easy_setopt,
# curl_easy_getinfo and curl_multi_setopt are also mentioned in their
# corresponding main (index) manpage.
# corresponding main (index) man page.
#
# src/tool_getparam.c lists all options curl can parse
# docs/curl.1 documents all command line options
@@ -229,8 +229,8 @@ while(<$r>) {
close($r);
#########################################################################
# parse the curl.1 manpage, extract all documented command line options
# The manpage may or may not be rebuilt, so check both possible locations
# parse the curl.1 man page, extract all documented command line options
# The man page may or may not be rebuilt, so check both possible locations
open($r, "<", "$buildroot/docs/cmdline-opts/curl.1") || open($r, "<", "$root/docs/cmdline-opts/curl.1") ||
die "failed getting curl.1";
my @manpage; # store all parsed parameters

View File

@@ -23,8 +23,8 @@
#
###########################################################################
#
# scan manpages to find basic syntactic problems such as unbalanced \f
# codes or references to non-existing curl manpages.
# scan man pages to find basic syntactic problems such as unbalanced \f
# codes or references to non-existing curl man pages.
use strict;
use warnings;
@@ -81,7 +81,7 @@ sub file {
my $man = "$1.3";
$man =~ s/\\//g; # cut off backslashes
if(!manpresent($man)) {
print "error: $f:$line: referring to non-existing manpage $man\n";
print "error: $f:$line: referring to non-existing man page $man\n";
$errors++;
}
if($pre ne "I") {
@@ -100,7 +100,7 @@ sub file {
my $man = "$1.3";
$man =~ s/\\//g; # cut off backslashes
if(!manpresent($man)) {
print "error: $f:$line: referring to non-existing manpage $man\n";
print "error: $f:$line: referring to non-existing man page $man\n";
$errors++;
}
}

View File

@@ -23,7 +23,7 @@
#
###########################################################################
#
# Scan manpage(s) and detect some simple and yet common formatting mistakes.
# Scan man page(s) and detect some simple and yet common formatting mistakes.
#
# Output all deviances to stderr.
@@ -148,7 +148,7 @@ sub scanmanpage {
open(my $m, "<", "$file") ||
die "test1173.pl could not open $file";
if($file =~ /[\/\\](CURL|curl_)([^\/\\]*).3/) {
# This is a manpage for libcurl. It requires an example unless it's
# This is a man page for libcurl. It requires an example unless it's
# considered deprecated.
$reqex = 1 unless defined $deprecated{'CURL'.$2};
if($1 eq "CURL") {
@@ -159,12 +159,12 @@ sub scanmanpage {
while(<$m>) {
chomp;
if($_ =~ /^.so /) {
# this manpage is just a referral
# this man page is just a referral
close($m);
return;
}
if(($_ =~ /^\.SH SYNOPSIS/i) && ($reqex)) {
# this is for libcurl manpage SYNOPSIS checks
# this is for libcurl man page SYNOPSIS checks
$insynop = 1;
$inexample = 0;
}
@@ -269,7 +269,7 @@ sub scanmanpage {
if($optpage && $SH && ($SH !~ /^(SYNOPSIS|EXAMPLE|NAME|SEE ALSO)/i) &&
($_ =~ /(.*)(CURL(OPT_|MOPT_|INFO_|SHOPT_)[A-Z0-9_]*)/)) {
# an option with its own manpage, check that it is tagged
# an option with its own man page, check that it is tagged
# for linking
my ($pref, $symbol) = ($1, $2);
if($deprecated{$symbol}) {
@@ -318,7 +318,7 @@ sub scanmanpage {
}
if($shcount < 3) {
print STDERR "$file:$line too few manpage sections!\n";
print STDERR "$file:$line too few man page sections!\n";
$errors++;
return;
}

View File

@@ -25,7 +25,7 @@
###########################################################################
#
# Check that the deprecated statuses of functions and enum values in header
# files, manpages and symbols-in-versions are in sync.
# files, man pages and symbols-in-versions are in sync.
use strict;
use warnings;
@@ -48,8 +48,8 @@ my $errcode = 0;
# x.yy.z Deprecated in version x.yy.z
my %syminver; # Symbols-in-versions deprecations.
my %hdr; # Public header files deprecations.
my %funcman; # Function manpages deprecations.
my %optman; # Option manpages deprecations.
my %funcman; # Function man pages deprecations.
my %optman; # Option man pages deprecations.
# Scan header file for public function and enum values. Flag them with
@@ -144,7 +144,7 @@ sub scan_header {
close $h;
}
# Scan function manpage for options.
# Scan function man page for options.
# Each option has to be declared as ".IP <option>" where <option> starts with
# the prefix. Flag each option with its deprecation version, if some.
sub scan_man_for_opts {
@@ -183,7 +183,7 @@ sub scan_man_for_opts {
close $m;
}
# Scan manpage for deprecation in DESCRIPTION and/or AVAILABILITY sections.
# Scan man page for deprecation in DESCRIPTION and/or AVAILABILITY sections.
sub scan_man_page {
my ($path, $sym, $table)=@_;
my $version = "X";
@@ -194,7 +194,7 @@ sub scan_man_page {
while(<$fh>) {
if($_ =~ /\.so\s+man3\/(.*\.3\b)/) {
# Handle manpage inclusion.
# Handle man page inclusion.
scan_man_page(dirname($path) . "/$1", $sym, $table);
$version = exists($$table{$sym})? $$table{$sym}: $version;
}
@@ -216,7 +216,7 @@ sub scan_man_page {
# Flag deprecation status.
if($version ne "X" && $version ne "?") {
if($1 && $1 ne $version) {
print "error: $sym manpage lists unmatching deprecation versions $version and $1\n";
print "error: $sym man page lists unmatching deprecation versions $version and $1\n";
$errcode++;
}
}
@@ -269,18 +269,18 @@ for(@hfiles) {
scan_header("$incdir/$_");
}
# Get function statuses from manpages.
# Get function statuses from man pages.
foreach my $sym (keys %hdr) {
if($sym =~/^(?:curl|curlx)_\w/) {
scan_man_page("$libdocdir/$sym.3", $sym, \%funcman);
}
}
# Get options from function manpages.
# Get options from function man pages.
scan_man_for_opts("$libdocdir/curl_easy_setopt.3", "CURLOPT");
scan_man_for_opts("$libdocdir/curl_easy_getinfo.3", "CURLINFO");
# Get deprecation status from option manpages.
# Get deprecation status from option man pages.
foreach my $sym (keys %syminver) {
if($sym =~ /^(?:CURLOPT|CURLINFO)_\w+$/) {
scan_man_page("$libdocdir/opts/$sym.3", $sym, \%optman);

View File

@@ -91,7 +91,7 @@ scanmanpage($manpge);
print "Result\n";
for my $h (sort @hnames) {
if(!$manfrom{$h}) {
printf "$h from %s, not in manpage\n", $wherefrom{$h};
printf "$h from %s, not in man page\n", $wherefrom{$h};
}
}