Age | Commit message (Collapse) | Author |
|
For compatibility with `fwrite`, the `CURLOPT_HEADERFUNCTION` callback
is passed two `size_t` parameters which, when multiplied, designate the
number of bytes of data passed in. In practice, CURL always sets the
first parameter (`size`) to 1.
This practice is also enshrined in documentation and cannot be changed
in future. The documentation states that the default callback is
`fwrite`, which means `fwrite` must be a suitable function for this
purpose. However, the documentation also states that the callback must
return the number of *bytes* it successfully handled, whereas ISO C
`fwrite` returns the number of items (each of size `size`) which it
wrote. The only way these numbers can be equal is if `size` is 1.
Since `size` is 1 and can never be changed in future anyway, document
that fact explicitly and let users rely on it.
Reported-by: Frank Gevaerts
Commit-message-by: Christopher Head
Ref: https://github.com/curl/curl/pull/2787
Fixes https://github.com/curl/curl/issues/4758
|
|
Prior to this change curl_global_cleanup was not called if
curl_easy_init failed.
Reported-by: kouzhudong@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/4751
|
|
Follow-up to 525787269599b5
|
|
The comment was confusing and suggested that setting CURLOPT_NOPROGRESS
to 0L would both enable and disable debug output at the same time, like
a Schrödinger's cat of CURLOPTs.
Closes #4745
|
|
|
|
Prior to this change the EXAMPLE in the QUOTE/PREQUOTE/POSTQUOTE man
pages would not compile because a variable name was incorrect.
Reported-by: Bylon2@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/4736
|
|
[skip ci]
|
|
|
|
[skip ci]
Closes #4301
|
|
Also point to #4296 for more details
Closes #4296
|
|
Closes #4261
|
|
Reported-by: sayrer on github
Closes #4262
[skip ci]
|
|
Closes #4680
|
|
|
|
Closes #4655
|
|
Reported-by: Jeff Mears
Bug: https://curl.haxx.se/mail/lib-2019-12/0007.html
Closes #4667
|
|
|
|
Fixes #4643
Closes #4652
|
|
--etag-compare and --etag-save
Suggested-by: Paul Hoffman
Fixes #4277
Closes #4543
|
|
|
|
(also for PROGRESSFUNCTION)
By returning this value from the callback, the internal progress
function call is still called afterward.
Closes #4599
|
|
Closes #4597
|
|
Reviewed-by: Gergely Nagy
Closes #4635
|
|
This commit adds curl_multi_wakeup() which was previously in the TODO
list under the curl_multi_unblock name.
On some platforms and with some configurations this feature might not be
available or can fail, in these cases a new error code
(CURLM_WAKEUP_FAILURE) is returned from curl_multi_wakeup().
Fixes #4418
Closes #4608
|
|
Closes #4628
|
|
To avoid potential issues with error code reuse.
Reported-by: Christoph M. Becker
Assisted-by: Dan Fandrich
Fixes #4601
Closes #4627
|
|
Starting with this change when doing parallel transfers, without this
option set, curl will prefer to create new transfers multiplexed on an
existing connection rather than creating a brand new one.
--parallel-immediate can be set to tell curl to prefer to use new
connections rather than to wait and try to multiplex.
libcurl-wise, this means that curl will set CURLOPT_PIPEWAIT by default
on parallel transfers.
Suggested-by: Tom van der Woerdt
Closes #4500
|
|
Change 'experiemental' to 'experimental'.
Closes #4618
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
Closes #4606
|
|
Show how curl_multi_poll() makes it even easier to use the multi
interface.
Closes #4596
|
|
|
|
Pseudo header MUST come before regular headers or cause an error.
Reported-by: Cynthia Coan
Fixes #4571
Closes #4584
|
|
The disable-scan script used in test 1165 is extended to also verify
that the docs cover all used defines and all defines offered by
configure.
Reported-by: SLDiggie on github
Fixes #4545
Closes #4587
|
|
Closes #4418
|
|
Closes #4477
|
|
Closes #4476
|
|
.. because checksrc's copyright year check stopped working.
Ref: https://github.com/curl/curl/pull/4547
Closes https://github.com/curl/curl/pull/4549
|
|
|
|
Closes #4547
|
|
Closes #4539
|
|
... as really confuses the reader to not know what to believe!
|
|
Closes #4535
|
|
With the `isdigit` implementation that comes with MSYS2, the argument
is used as an array subscript, resulting in a -Wchar-subscripts
warning. `isdigit`'s behavior is undefined if the argument is negative
and not EOF [0]. As done in lib/curl_ctype.h, cast the `char` variable
to `unsigned char` to avoid that.
[0] https://en.cppreference.com/w/c/string/byte/isdigit
Closes https://github.com/curl/curl/pull/4503
|
|
Prior to this change some users did not understand that the "request"
starts when the handle is added to the multi handle, or probably they
did not understand that some of those transfers may be queued and that
time is included in timeout.
Reported-by: Jeroen Ooms
Fixes https://github.com/curl/curl/issues/4486
Closes https://github.com/curl/curl/pull/4489
|
|
Closes #4344
|
|
The curl_formadd() function is deprecated and shouldn't be used so the
real fix for applications is to switch to the curl_mime_* API.
|
|
Closes #3116
|
|
Closes #3747
|
|
|
|
Follow-up to 93373a960c3bb4
Reported-by: infinnovation-dev on github
Fixes #4474
Closes #4475
|