aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
diff options
context:
space:
mode:
authorChristopher Head <chead@chead.ca>2018-07-24 22:47:23 -0700
committerDaniel Stenberg <daniel@haxx.se>2018-07-26 16:24:43 +0200
commit9526cbe6bca1f9389fa84e5b0e5e2dc173e82f0d (patch)
tree1fb3c022c3d2483d38497d890175557a7bf1f7f1 /docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
parent10d8f3f1344b958a9bea3b3d9f607bc624bce410 (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/opts/CURLOPT_WRITEFUNCTION.3')
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEFUNCTION.32
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