mirror of
https://github.com/curl/curl.git
synced 2026-01-18 17:21:26 +01:00
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:
28
.github/scripts/badwords.pl
vendored
28
.github/scripts/badwords.pl
vendored
@@ -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), " ",
|
||||
|
||||
12
.github/scripts/badwords.txt
vendored
12
.github/scripts/badwords.txt
vendored
@@ -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
|
||||
|
||||
1
.github/scripts/pyspelling.words
vendored
1
.github/scripts/pyspelling.words
vendored
@@ -149,7 +149,6 @@ CSeq
|
||||
csh
|
||||
cshrc
|
||||
CTRL
|
||||
cURL
|
||||
CURLcode
|
||||
curldown
|
||||
CURLE
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
16
docs/FAQ
16
docs/FAQ
@@ -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
|
||||
|
||||
22
docs/IPFS.md
22
docs/IPFS.md
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -11,7 +11,7 @@ documentation
|
||||
# Client-side
|
||||
<client>
|
||||
<name>
|
||||
Verify the nroff of manpages
|
||||
Verify the nroff of man pages
|
||||
</name>
|
||||
|
||||
<command type="perl">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user