cURL / Mailing Lists / curl-library / Single Mail


Re: Passing char buffer pointer for PUT operation instead of file.

From: Daniel Stenberg <>
Date: Fri, 26 Dec 2008 17:15:44 +0100 (CET)

On Fri, 26 Dec 2008, wrote:

Please don't top-post!

> char buff[30];
> char pData[3]={'T','A','M'};
> int count=0;
> static size_t read_callback(void *ptr, size_t size, size_t nmemb, void
> *stream)
> {

The callback you write must mimic fread(). It should act similar to that.

> size_t retcode=0;
> char buff1[10]="TAMAL TAN";
> ptr=buff1;//want to populate ptr using data from char buffer.

ptr points to the buffer in which you should copy the data for libcurl. You
changing this pointer to something else will not lead to anything good.
Instead you'll leave the buffer at 'ptr' unmodified...

> return 9;

And then you unconditionally return 9 as if you always copy 9 useful data
bytes to the buffer libcurl handed you. Which you clearly don't...

Received on 2008-12-26