> On 12 Jul 2010, at 12:18 PM, Daniel Stenberg wrote: > Possibly it could be made as another callback: getbuffer() > > getbuffer() gets called when libcurl needs a new buffer, and the buffer > you > provide to libcurl with that callback must be able to hold at least > CURL_MAX_WRITE_SIZE bytes. When libcurl calls the write callback, it will > pass on a pointer to within that buffer and a length. Note that it MAY not > point to the first byte of the passed-in buffer.
I see a problem here, in that CURL_MAX_WRITE_SIZE is defined at compile time, yet the application could be linked at run time to a libcurl that used a different value. If libcurl's value were greater, then it will overwrite the end of the buffer passed in. What is probably needed is a curl_easy_getinfo analog to the curl_easy_setopt option CURLOPT_BUFFERSIZE to query at run time what size is expected, or just force the zero copy interface user to set CURLOPT_BUFFERSIZE at least once before supplying a buffer. >>> Dan ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
