diff options
author | Christopher Head <chead@chead.ca> | 2018-07-24 22:47:23 -0700 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2018-07-26 16:24:43 +0200 |
commit | 9526cbe6bca1f9389fa84e5b0e5e2dc173e82f0d (patch) | |
tree | 1fb3c022c3d2483d38497d890175557a7bf1f7f1 /docs/libcurl | |
parent | 10d8f3f1344b958a9bea3b3d9f607bc624bce410 (diff) |
docs/CURLOPT_WRITEFUNCTION: size is always 1
For compatibility with `fwrite`, the `CURLOPT_WRITEFUNCTION` 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.
Closes #2787
Diffstat (limited to 'docs/libcurl')
-rw-r--r-- | docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 index 2c77a4c1b..b6cdabf70 100644 --- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 +++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 @@ -36,7 +36,7 @@ shown above. This callback function gets called by libcurl as soon as there is data received that needs to be saved. \fIptr\fP points to the delivered data, and -the size of that data is \fIsize\fP multiplied with \fInmemb\fP. +the size of that data is \fInmemb\fP; \fIsize\fP is always 1. The callback function will be passed as much data as possible in all invokes, but you must not make any assumptions. It may be one byte, it may be |