test code. Thanks to his curl_easy_setopt() typechecker work...
#define MAX 10 /* number of simultaneous transfers */
#define CNT sizeof(urls)/sizeof(char*) /* total number of transfers to do */
-static int cb(char *d, size_t n, size_t l, void *p)
+static size_t cb(char *d, size_t n, size_t l, void *p)
{
/* take care of the data here, ignored in this example */
(void)d;
/* ioctl callback function */
static curlioerr my_ioctl(CURL *handle, curliocmd cmd, void *userp)
{
- int fd = (int)userp;
+ intptr_t fd = (intptr_t)userp;
(void)handle; /* not used in here */
{
size_t retcode;
- int fd = (int)stream;
+ intptr_t fd = (intptr_t)stream;
retcode = read(fd, ptr, size * nmemb);
{
CURL *curl;
CURLcode res;
- int hd ;
+ intptr_t hd ;
struct stat file_info;
char *file;
curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
/* which file to upload */
- curl_easy_setopt(curl, CURLOPT_READDATA, hd);
+ curl_easy_setopt(curl, CURLOPT_READDATA, (void*)hd);
/* set the ioctl function */
curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, my_ioctl);
/* pass the file descriptor to the ioctl callback as well */
- curl_easy_setopt(curl, CURLOPT_IOCTLDATA, hd);
+ curl_easy_setopt(curl, CURLOPT_IOCTLDATA, (void*)hd);
/* enable "uploading" (which means PUT when doing HTTP) */
curl_easy_setopt(curl, CURLOPT_UPLOAD, TRUE) ;
static
int my_trace(CURL *handle, curl_infotype type,
- unsigned char *data, size_t size,
+ char *data, size_t size,
void *userp)
{
struct data *config = (struct data *)userp;
break;
}
- dump(text, stderr, data, size, config->trace_ascii);
+ dump(text, stderr, (unsigned char *)data, size, config->trace_ascii);
return 0;
}
FILE *stream;
};
-static int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
+static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
{
struct FtpFile *out=(struct FtpFile *)stream;
if(out && !out->stream) {
static
int my_trace(CURL *handle, curl_infotype type,
- unsigned char *data, size_t size,
+ char *data, size_t size,
void *userp)
{
const char *text;
headers = sethost(NULL);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, (void*)headers);
- curl_easy_setopt(curl, CURLOPT_URL, (void*)tdata->url);
+ curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
+ curl_easy_setopt(curl, CURLOPT_URL, tdata->url);
printf( "CURLOPT_SHARE\n" );
- curl_easy_setopt(curl, CURLOPT_SHARE, (void*)tdata->share);
+ curl_easy_setopt(curl, CURLOPT_SHARE, tdata->share);
printf( "PERFORM\n" );
code = curl_easy_perform(curl);
url = suburl( URL, i );
headers = sethost( NULL );
- curl_easy_setopt( curl, CURLOPT_HTTPHEADER, (void*)headers );
+ curl_easy_setopt( curl, CURLOPT_HTTPHEADER, headers );
curl_easy_setopt( curl, CURLOPT_URL, url );
printf( "CURLOPT_SHARE\n" );
curl_easy_setopt( curl, CURLOPT_SHARE, share );
static
int my_trace(CURL *handle, curl_infotype type,
- unsigned char *data, size_t size,
+ char *data, size_t size,
void *userp)
{
struct data *config = (struct data *)userp;
break;
}
- dump(text, stderr, data, size, config->trace_ascii);
+ dump(text, stderr, (unsigned char *)data, size, config->trace_ascii);
return 0;
}