mirror of
https://github.com/curl/curl.git
synced 2026-04-14 23:01:41 +03:00
docs: address proselint nits
- avoid exclamation marks - use consistent number of spaces after periods: one - avoid clichés - avoid using 'very' Closes #8060
This commit is contained in:
parent
0d380a853f
commit
76d6e719d9
70 changed files with 221 additions and 223 deletions
|
|
@ -19,7 +19,7 @@ by reading [the INSTALL 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.3 man
|
||||
page](https://curl.se/libcurl/c/libcurl.html) to learn how!
|
||||
page](https://curl.se/libcurl/c/libcurl.html) to learn how.
|
||||
|
||||
You can find answers to the most frequent questions we get in [the FAQ
|
||||
document](https://curl.se/docs/faq.html).
|
||||
|
|
@ -47,7 +47,7 @@ downloads.
|
|||
|
||||
## Git
|
||||
|
||||
To download the very latest source from the Git server do this:
|
||||
To download the latest source from the Git server do this:
|
||||
|
||||
git clone https://github.com/curl/curl.git
|
||||
|
||||
|
|
|
|||
16
docs/BUGS.md
16
docs/BUGS.md
|
|
@ -17,7 +17,7 @@
|
|||
a go at a solution. You can optionally also submit your problem in [curl's
|
||||
bug tracking system](https://github.com/curl/curl/issues).
|
||||
|
||||
Please read the rest of this document below first before doing that!
|
||||
Please read the rest of this document below first before doing that.
|
||||
|
||||
If you feel you need to ask around first, find a suitable [mailing list](
|
||||
https://curl.se/mail/) and post your questions there.
|
||||
|
|
@ -66,9 +66,9 @@
|
|||
`--trace` options.
|
||||
|
||||
If curl crashed, causing a core dump (in unix), there is hardly any use to
|
||||
send that huge file to anyone of us. Unless we have an exact same system
|
||||
setup as you, we cannot do much with it. Instead, we ask you to get a stack
|
||||
trace and send that (much smaller) output to us instead!
|
||||
send that huge file to anyone of us. Unless we have the same system setup as
|
||||
you, we cannot do much with it. Instead, we ask you to get a stack trace and
|
||||
send that (much smaller) output to us instead.
|
||||
|
||||
The address and how to subscribe to the mailing lists are detailed in the
|
||||
`MANUAL.md` file.
|
||||
|
|
@ -102,9 +102,9 @@
|
|||
it out of an ambition to keep curl and libcurl excellent products and out of
|
||||
pride.
|
||||
|
||||
But please do not assume that you can just lump over something to us and it
|
||||
will then magically be fixed after some given time. Most often we need
|
||||
feedback and help to understand what you have experienced and how to repeat a
|
||||
Please do not assume that you can just lump over something to us and it will
|
||||
then magically be fixed after some given time. Most often we need feedback
|
||||
and help to understand what you have experienced and how to repeat a
|
||||
problem. Then we may only be able to assist YOU to debug the problem and to
|
||||
track down the proper fix.
|
||||
|
||||
|
|
@ -209,7 +209,7 @@
|
|||
If the problem have not been understood or reproduced, and there's nobody
|
||||
responding to follow-up questions or questions asking for clarifications or
|
||||
for discussing possible ways to move forward with the task, we take that as a
|
||||
strong suggestion that the bug is not important.
|
||||
strong suggestion that the bug is unimportant.
|
||||
|
||||
Unimportant issues will be closed as inactive sooner or later as they cannot
|
||||
be fixed. The inactivity period (waiting for responses) should not be shorter
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ warnings are:
|
|||
more appropriate `char *name` style. The asterisk should sit right next to
|
||||
the name without a space in between.
|
||||
|
||||
- `BADCOMMAND`: There's a bad !checksrc! instruction in the code. See the
|
||||
- `BADCOMMAND`: There's a bad `!checksrc!` instruction in the code. See the
|
||||
**Ignore certain warnings** section below for details.
|
||||
|
||||
- `BANNEDFUNC`: A banned function was used. The functions sprintf, vsprintf,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ flaws or bugs.
|
|||
|
||||
Skip over to [https://curl.se/mail/](https://curl.se/mail/) and join
|
||||
the appropriate mailing list(s). Read up on details before you post
|
||||
questions. Read this file before you start sending patches! We prefer
|
||||
questions. Read this file before you start sending patches. We prefer
|
||||
questions sent to and discussions being held on the mailing list(s), not sent
|
||||
to individuals.
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ By submitting a patch to the curl project, you are assumed to have the right
|
|||
to the code and to be allowed by your employer or whatever to hand over that
|
||||
patch/code to us. We will credit you for your changes as far as possible, to
|
||||
give credit but also to keep a trace back to who made what changes. Please
|
||||
always provide us with your full real name when contributing!
|
||||
always provide us with your full real name when contributing,
|
||||
|
||||
### What To Read
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ and regression in the future.
|
|||
Please try to get the latest available sources to make your patches against.
|
||||
It makes the lives of the developers so much easier. The best is if you get
|
||||
the most up-to-date sources from the git repository, but the latest release
|
||||
archive is quite OK as well!
|
||||
archive is quite OK as well.
|
||||
|
||||
### Documentation
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# dynbuf
|
||||
|
||||
This is the internal module for creating and handling "dynamic buffers". This
|
||||
means buffers that can be appended to, dynamically and grow in size to adapt.
|
||||
means buffers that can be appended to, dynamically and grow to adapt.
|
||||
|
||||
There will always be a terminating zero put at the end of the dynamic buffer.
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ functionality or to favour any particular TLS-providing backend. Specifically,
|
|||
the change reserves a feature bit for ECH support (symbol
|
||||
`CURL_VERSION_ECH`), implements setting and reporting of this bit, includes
|
||||
dummy book-keeping for the symbol, adds a build-time configuration option
|
||||
(`--enable-ech`), provides an extensible check for resources available to
|
||||
(`--enable-ech`), provides an extendable check for resources available to
|
||||
provide ECH support, and defines a compiler pre-processor symbol (`USE_ECH`)
|
||||
accordingly.
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Limitations:
|
|||
|
||||
- Framework is incomplete, as it covers autoconf, but not CMake.
|
||||
|
||||
- Check for available resources, although extensible, refers only to
|
||||
- Check for available resources, although extendable, refers only to
|
||||
specific work in progress ([described
|
||||
here](https://github.com/sftcd/openssl/tree/master/esnistuff)) to
|
||||
implement ECH for OpenSSL, as this is the immediate motivation
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ When you are merging patches/PRs...
|
|||
necessary
|
||||
- avoid the "merge" button on GitHub, do it "manually" instead to get full
|
||||
control and full audit trail (github leaves out you as "Committer:")
|
||||
- remember to credit the reporter and the helpers!
|
||||
- remember to credit the reporter and the helpers.
|
||||
|
||||
## Who are maintainers?
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ even maybe not a terribly experienced developer, here's our advice:
|
|||
- Read through this document to get a grasp on a general approach to use
|
||||
- Consider adding a test case for something not currently tested (correctly)
|
||||
- Consider updating or adding documentation
|
||||
- One way to get your feet wet gently in the project, is to participate in an
|
||||
- One way to get started gently in the project, is to participate in an
|
||||
existing issue/PR and help out by reproducing the issue, review the code in
|
||||
the PR etc.
|
||||
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ enabled, you will get messages like:
|
|||
getaddrinfo() thread failed to start
|
||||
```
|
||||
|
||||
Do not panic! curl and your program are not broken. You can fix this by:
|
||||
Do not panic. curl and your program are not broken. You can fix this by:
|
||||
|
||||
- Set the environment variable `QIBM_MULTI_THREADED` to `Y` before starting
|
||||
your program. This can be done at whatever scope you feel is appropriate.
|
||||
|
|
|
|||
|
|
@ -165,10 +165,10 @@ Windows vs Unix
|
|||
`#ifdef HAVE_THAT_WEIRD_FUNCTION`. Since Windows cannot run configure scripts,
|
||||
we maintain a `curl_config-win32.h` file in lib directory that is supposed to
|
||||
look exactly like a `curl_config.h` file would have looked like on a Windows
|
||||
machine!
|
||||
machine.
|
||||
|
||||
Generally speaking: always remember that this will be compiled on dozens of
|
||||
operating systems. Do not walk on the edge!
|
||||
operating systems. Do not walk on the edge.
|
||||
|
||||
<a name="Library"></a>
|
||||
Library
|
||||
|
|
@ -797,7 +797,7 @@ Track Down Memory Leaks
|
|||
tests/memanalyze.pl dump
|
||||
|
||||
This now outputs a report on what resources that were allocated but never
|
||||
freed etc. This report is fine for posting to the list!
|
||||
freed etc. This report is fine for posting to the list.
|
||||
|
||||
If this does not produce any output, no leak was detected in libcurl. Then
|
||||
the leak is mostly likely to be in your code.
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ allow a user to trick curl into uploading a file.
|
|||
## Referrer
|
||||
|
||||
An HTTP request has the option to include information about which address
|
||||
referred it to the actual page. Curl allows you to specify the referrer to be
|
||||
referred it to the actual page. curl allows you to specify the referrer to be
|
||||
used on the command line. It is especially useful to fool or trick stupid
|
||||
servers or CGI scripts that rely on that information being available or
|
||||
contain certain data.
|
||||
|
|
@ -608,7 +608,7 @@ directory at your ftp site, do:
|
|||
|
||||
curl ftp://user:passwd@my.site.com/README
|
||||
|
||||
But if you want the README file from the root directory of that same site, you
|
||||
If you want the README file from the root directory of that same site, you
|
||||
need to specify the absolute file name:
|
||||
|
||||
curl ftp://user:passwd@my.site.com//README
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ that supporting this protocol is a grand idea.
|
|||
curl is not here for your protocol. Your protocol is not here for curl. The
|
||||
best cooperation and end result occur when all involved parties mutually see
|
||||
and agree that supporting this protocol in curl would be good for everyone.
|
||||
Heck, for the world!
|
||||
Heck, for the world.
|
||||
|
||||
Consider "selling us" the idea that we need an implementation merged in curl,
|
||||
to be fairly important. *Why* do we want curl to support this new protocol?
|
||||
|
|
@ -90,8 +90,8 @@ protocol - but it might require a bit of an effort to make it happen.
|
|||
|
||||
## Documentation
|
||||
|
||||
We cannot assume that users are particularly familiar with specific details
|
||||
and peculiarities of the protocol. It needs documentation.
|
||||
We cannot assume that users are particularly familiar with details and
|
||||
peculiarities of the protocol. It needs documentation.
|
||||
|
||||
Maybe it even needs some internal documentation so that the developers who
|
||||
will try to debug something five years from now can figure out functionality a
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ share API as well, as a context per origin + path (realm?) basically.
|
|||
|
||||
Visible in test 153, 1412 and more.
|
||||
|
||||
## Feedback!
|
||||
## Feedback
|
||||
|
||||
This is early days for parallel transfer support. Keep your eyes open for
|
||||
unintended side effects or downright bugs.
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ changes over time.
|
|||
URL parsers as implemented in browsers, libraries and tools usually opt to
|
||||
support one of the mentioned specifications. Bugs, differences in
|
||||
interpretations and the moving nature of the WHATWG spec does however make it
|
||||
unlikely that multiple parsers treat URLs the exact same way!
|
||||
unlikely that multiple parsers treat URLs the same way.
|
||||
|
||||
## Security
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ them with ":" (e.g. "X25519:P-521"). The parameter is available identically
|
|||
in the "openssl s_client/s_server" utilities.
|
||||
|
||||
--curves allows a OpenSSL powered curl to make SSL-connections with exactly
|
||||
the (EC) curve requested by the client, avoiding intransparent client/server
|
||||
the (EC) curve requested by the client, avoiding nontransparent client/server
|
||||
negotiations.
|
||||
|
||||
If this option is set, the default curves list built into openssl will be
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ the @ character. To post data purely binary, you should instead use the
|
|||
--data-urlencode.
|
||||
|
||||
If any of these options is used more than once on the same command line, the
|
||||
data pieces specified will be merged together with a separating
|
||||
&-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post
|
||||
chunk that looks like \&'name=daniel&skill=lousy'.
|
||||
data pieces specified will be merged with a separating &-symbol. Thus, using
|
||||
\&'-d name=daniel -d skill=lousy' would generate a post chunk that looks like
|
||||
\&'name=daniel&skill=lousy'.
|
||||
|
||||
If you start the data with the letter @, the rest should be a file name to
|
||||
read the data from, or - if you want curl to read the data from stdin. Posting
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ from your environment by specifying a single colon with this option: "-U :".
|
|||
On systems where it works, curl will hide the given option argument from
|
||||
process listings. This is not enough to protect credentials from possibly
|
||||
getting seen by other users on the same system as they will still be visible
|
||||
for a brief moment before cleared. Such sensitive data should be retrieved
|
||||
from a file instead or similar and never used in clear text in a command line.
|
||||
for a moment before cleared. Such sensitive data should be retrieved from a
|
||||
file instead or similar and never used in clear text in a command line.
|
||||
|
||||
If this option is used several times, the last one will be used.
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ User and password that might be provided in the proxy string are URL decoded
|
|||
by curl. This allows you to pass in special characters such as @ by using %40
|
||||
or pass in a colon with %3a.
|
||||
|
||||
The proxy host can be specified the exact same way as the proxy environment
|
||||
The proxy host can be specified the same way as the proxy environment
|
||||
variables, including the protocol prefix (http://) and the embedded user +
|
||||
password.
|
||||
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ There's no attempt to decode %-sequences (yet) in the provided file name, so
|
|||
this option may provide you with rather unexpected file names.
|
||||
|
||||
**WARNING**: Exercise judicious use of this option, especially on Windows. A
|
||||
rogue server could send you the name of a DLL or other file that could possibly
|
||||
be loaded automatically by Windows or some third party software.
|
||||
rogue server could send you the name of a DLL or other file that could be
|
||||
loaded automatically by Windows or some third party software.
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ curl_formadd - add a section to a multipart/formdata HTTP POST
|
|||
.BI "struct curl_httppost ** " lastitem, " ...);"
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
This function is deprecated. Do not use! See \fIcurl_mime_init(3)\fP instead!
|
||||
This function is deprecated. Do not use. See \fIcurl_mime_init(3)\fP instead.
|
||||
|
||||
curl_formadd() is used to append sections when building a multipart/formdata
|
||||
HTTP POST (sometimes referred to as RFC2388-style posts). Append one section
|
||||
|
|
@ -156,7 +156,7 @@ Another possibility to send options to curl_formadd() is the
|
|||
\fBCURLFORM_ARRAY\fP option, that passes a struct curl_forms array pointer as
|
||||
its value. Each curl_forms structure element has a CURLformoption and a char
|
||||
pointer. The final element in the array must be a CURLFORM_END. All available
|
||||
options can be used in an array, except the CURLFORM_ARRAY option itself! The
|
||||
options can be used in an array, except the CURLFORM_ARRAY option itself. The
|
||||
last argument in such an array must always be \fBCURLFORM_END\fP.
|
||||
.IP CURLFORM_CONTENTHEADER
|
||||
specifies extra headers for the form POST section. This takes a curl_slist
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ curl_formfree - free a previously build multipart/formdata HTTP POST chain
|
|||
.BI "void curl_formfree(struct curl_httppost *" form);
|
||||
.ad
|
||||
.SH DESCRIPTION
|
||||
This function is deprecated. Do not use! See \fIcurl_mime_init(3)\fP instead!
|
||||
This function is deprecated. Do not use. See \fIcurl_mime_init(3)\fP instead!
|
||||
|
||||
curl_formfree() is used to clean up data previously built/appended with
|
||||
\fIcurl_formadd(3)\fP. This must be called when the data has been used, which
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ set with the \fIoption\fP followed by the parameter \fIparam\fP. That
|
|||
parameter can be a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject
|
||||
pointer\fP or a \fBcurl_off_t\fP type, depending on what the specific option
|
||||
expects. Read this manual carefully as bad input values may cause libcurl to
|
||||
behave badly! You can only set one option in each function call.
|
||||
behave badly. You can only set one option in each function call.
|
||||
|
||||
.SH OPTIONS
|
||||
.IP CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ CURLMcode curl_multi_socket_all(CURLM *multi_handle,
|
|||
int *running_handles);
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
These functions are deprecated. Do not use! See
|
||||
\fIcurl_multi_socket_action(3)\fP instead!
|
||||
These functions are deprecated. Do not use. See
|
||||
\fIcurl_multi_socket_action(3)\fP instead.
|
||||
|
||||
At return, the integer \fBrunning_handles\fP points to will contain the number
|
||||
of still running easy handles within the multi handle. When this number
|
||||
|
|
@ -65,7 +65,7 @@ equivalent to \fIcurl_multi_socket_action(3)\fP with \fBev_bitmask\fP set to
|
|||
|
||||
Force libcurl to (re-)check all its internal sockets and transfers instead of
|
||||
just a single one by calling \fIcurl_multi_socket_all(3)\fP. Note that there
|
||||
should not be any reason to use this function!
|
||||
should not be any reason to use this function.
|
||||
.SH CALLBACK
|
||||
The socket \fBcallback\fP function uses a prototype like this
|
||||
.nf
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ nothing is considered an error.
|
|||
.IP "CURLE_SSL_ENGINE_NOTFOUND (53)"
|
||||
The specified crypto engine was not found.
|
||||
.IP "CURLE_SSL_ENGINE_SETFAILED (54)"
|
||||
Failed setting the selected SSL crypto engine as default!
|
||||
Failed setting the selected SSL crypto engine as default.
|
||||
.IP "CURLE_SEND_ERROR (55)"
|
||||
Failed sending network data.
|
||||
.IP "CURLE_RECV_ERROR (56)"
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ Should you change your mind, the easy handle is again removed from the multi
|
|||
stack using \fIcurl_multi_remove_handle(3)\fP. Once removed from the multi
|
||||
handle, you can again use other easy interface functions like
|
||||
\fIcurl_easy_perform(3)\fP on the handle or whatever you think is
|
||||
necessary. You can remove handles at any point in time during transfers.
|
||||
necessary. You can remove handles at any point during transfers.
|
||||
|
||||
Adding the easy handle to the multi handle does not start the transfer.
|
||||
Remember that one of the main ideas with this interface is to let your
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ Many applications are used in closed networks where users and servers can
|
|||
(possibly) be trusted, but many others are used on arbitrary servers and are
|
||||
fed input from potentially untrusted users. Following is a discussion about
|
||||
some risks in the ways in which applications commonly use libcurl and
|
||||
potential mitigations of those risks. It is by no means comprehensive, but
|
||||
shows classes of attacks that robust applications should consider. The Common
|
||||
potential mitigations of those risks. It is not comprehensive, but shows
|
||||
classes of attacks that robust applications should consider. The Common
|
||||
Weakness Enumeration project at https://cwe.mitre.org/ is a good reference for
|
||||
many of these and similar types of weaknesses of which application writers
|
||||
should be aware.
|
||||
|
|
@ -55,7 +55,7 @@ automatically to frequently visited sites. The file contains passwords in
|
|||
clear text and is a real security risk. In some cases, your .netrc is also
|
||||
stored in a home directory that is NFS mounted or used on another network
|
||||
based file system, so the clear text password will fly through your network
|
||||
every time anyone reads that file!
|
||||
every time anyone reads that file.
|
||||
|
||||
For applications that enable .netrc use, a user who manage to set the right
|
||||
URL might then be possible to pass on passwords.
|
||||
|
|
@ -106,11 +106,10 @@ the user (as would happen in some kinds of CGI scripts), an attacker could
|
|||
leverage this to read otherwise forbidden data (e.g.
|
||||
file://localhost/etc/passwd).
|
||||
|
||||
If authentication credentials are stored in the ~/.netrc file, or Kerberos
|
||||
is in use, any other URL type (not just file:) that requires
|
||||
authentication is also at risk. A redirect such as
|
||||
ftp://some-internal-server/private-file would then return data even when
|
||||
the server is password protected.
|
||||
If authentication credentials are stored in the ~/.netrc file, or Kerberos is
|
||||
in use, any other URL type (not just file:) that requires authentication is
|
||||
also at risk. A redirect such as ftp://some-internal-server/private-file would
|
||||
then return data even when the server is password protected.
|
||||
|
||||
In the same way, if an unencrypted SSH private key has been configured for the
|
||||
user running the libcurl application, SCP: or SFTP: URLs could access password
|
||||
|
|
@ -174,9 +173,9 @@ as IPv4 addresses. That means that a sanitizing function that filters out
|
|||
addresses like 127.0.0.1 is not sufficient--the equivalent IPv6 addresses ::1,
|
||||
::, 0:00::0:1, ::127.0.0.1 and ::ffff:7f00:1 supplied somehow by an attacker
|
||||
would all bypass a naive filter and could allow access to undesired local
|
||||
resources. IPv6 also has special address blocks like link-local and
|
||||
site-local that generally should not be accessed by a server-side libcurl-using
|
||||
application. A poorly-configured firewall installed in a data center,
|
||||
resources. IPv6 also has special address blocks like link-local and site-local
|
||||
that generally should not be accessed by a server-side libcurl-using
|
||||
application. A poorly configured firewall installed in a data center,
|
||||
organization or server may also be configured to limit IPv4 connections but
|
||||
leave IPv6 connections wide open. In some cases, setting
|
||||
\fICURLOPT_IPRESOLVE(3)\fP to CURL_IPRESOLVE_V4 can be used to limit resolved
|
||||
|
|
@ -301,7 +300,7 @@ right one.
|
|||
A malicious FTP server can respond to PASV commands with the IP+PORT of a
|
||||
totally different machine. Perhaps even a third party host, and when there are
|
||||
many clients trying to connect to that third party, it could create a
|
||||
Distributed Denial-Of-Service attack out of it! If the client makes an upload
|
||||
Distributed Denial-Of-Service attack out of it. If the client makes an upload
|
||||
operation, it can make the client send the data to another site. If the
|
||||
attacker can affect what data the client uploads, it can be made to work as a
|
||||
HTTP request and then the client could be made to issue HTTP requests to third
|
||||
|
|
|
|||
|
|
@ -236,8 +236,8 @@ commands and receive the transfer. Whenever it receives data, it calls the
|
|||
callback function we previously set. The function may get one byte at a time,
|
||||
or it may get many kilobytes at once. libcurl delivers as much as possible as
|
||||
often as possible. Your callback function should return the number of bytes it
|
||||
\&"took care of". If that is not the exact same amount of bytes that was
|
||||
passed to it, libcurl will abort the operation and return with an error code.
|
||||
\&"took care of". If that is not the same amount of bytes that was passed to
|
||||
it, libcurl will abort the operation and return with an error code.
|
||||
|
||||
When the transfer is complete, the function returns a return code that informs
|
||||
you if it succeeded in its mission or not. If a return code is not enough for
|
||||
|
|
@ -274,7 +274,7 @@ a better understanding why the server behaves the way it does. Include headers
|
|||
in the normal body output with \fICURLOPT_HEADER(3)\fP set 1.
|
||||
|
||||
Of course, there are bugs left. We need to know about them to be able to fix
|
||||
them, so we are quite dependent on your bug reports! When you do report
|
||||
them, so we are quite dependent on your bug reports. When you do report
|
||||
suspected bugs in libcurl, please include as many details as you possibly can:
|
||||
a protocol dump that \fICURLOPT_VERBOSE(3)\fP produces, library version, as
|
||||
much as possible of your code that uses libcurl, operating system name and
|
||||
|
|
@ -1320,7 +1320,7 @@ ones at any time), you start the transfers by calling
|
|||
\fIcurl_multi_perform(3)\fP.
|
||||
|
||||
\fIcurl_multi_perform(3)\fP is asynchronous. It will only perform what can be
|
||||
done now and then return back control to your program. It is designed to never
|
||||
done now and then return control to your program. It is designed to never
|
||||
block. You need to keep calling the function until all transfers are
|
||||
completed.
|
||||
|
||||
|
|
|
|||
|
|
@ -33,10 +33,9 @@ There are many bindings available that bring libcurl access to your favourite
|
|||
language. Look elsewhere for documentation on those.
|
||||
|
||||
libcurl has a global constant environment that you must set up and maintain
|
||||
while using libcurl. This essentially means you call
|
||||
\fIcurl_global_init(3)\fP at the start of your program and
|
||||
\fIcurl_global_cleanup(3)\fP at the end. See \fBGLOBAL CONSTANTS\fP below for
|
||||
details.
|
||||
while using libcurl. This essentially means you call \fIcurl_global_init(3)\fP
|
||||
at the start of your program and \fIcurl_global_cleanup(3)\fP at the end. See
|
||||
\fBGLOBAL CONSTANTS\fP below for details.
|
||||
|
||||
If libcurl was compiled with support for multiple SSL backends, the function
|
||||
\fIcurl_global_sslset(3)\fP can be called before \fIcurl_global_init(3)\fP
|
||||
|
|
@ -186,11 +185,11 @@ run at the start and end of the whole program.
|
|||
A module like this must have global constant functions of its own, just like
|
||||
\fIcurl_global_init(3)\fP and \fIcurl_global_cleanup(3)\fP. The module thus
|
||||
has control at the beginning and end of the program and has a place to call
|
||||
the libcurl functions. Note that if multiple modules in the program use
|
||||
libcurl, they all will separately call the libcurl functions, and that is OK
|
||||
because only the first \fIcurl_global_init(3)\fP and the last
|
||||
\fIcurl_global_cleanup(3)\fP in a program change anything. (libcurl uses a
|
||||
reference count in static memory).
|
||||
the libcurl functions. If multiple modules in the program use libcurl, they
|
||||
all will separately call the libcurl functions, and that is OK because only
|
||||
the first \fIcurl_global_init(3)\fP and the last \fIcurl_global_cleanup(3)\fP
|
||||
in a program change anything. (libcurl uses a reference count in static
|
||||
memory).
|
||||
|
||||
In a C++ module, it is common to deal with the global constant situation by
|
||||
defining a special class that represents the global constant environment of
|
||||
|
|
@ -223,7 +222,7 @@ without you having to worry about the global constant environment at all:
|
|||
yet. The resources it acquires to do so get released by the operating system
|
||||
automatically when the program exits.
|
||||
|
||||
This failsafe feature exists mainly for backward compatibility because
|
||||
there was a time when the global functions did not exist. Because it
|
||||
is sufficient only in the simplest of programs, it is not recommended
|
||||
for any program to rely on it.
|
||||
This failsafe feature exists mainly for backward compatibility because there
|
||||
was a time when the global functions did not exist. Because it is sufficient
|
||||
only in the simplest of programs, it is not recommended for any program to
|
||||
rely on it.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue