/* ioctl callback function */
static curlioerr my_ioctl(CURL *handle, curliocmd cmd, void *userp)
{
- intptr_t fd = (intptr_t)userp;
+ int *fdp = (int *)userp;
+ int fd = *fdp;
(void)handle; /* not used in here */
ssize_t retcode;
curl_off_t nread;
- intptr_t fd = (intptr_t)stream;
+ int *fdp = (int *)stream;
+ int fd = *fdp;
retcode = read(fd, ptr, size * nmemb);
{
CURL *curl;
CURLcode res;
- intptr_t hd;
+ int 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, (void*)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, (void*)hd);
+ curl_easy_setopt(curl, CURLOPT_IOCTLDATA, (void*)&hd);
/* enable "uploading" (which means PUT when doing HTTP) */
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);