moved the lseek() and stat() magic defines to setup.h and now take advantage

of struct_stat in formdata.c as well, to support formpost uploads of large
files on Windows too
This commit is contained in:
Daniel Stenberg 2004-12-16 18:09:27 +00:00
parent ec8ee4404b
commit 4f5a6a33b4
3 changed files with 9 additions and 9 deletions

View File

@ -167,14 +167,6 @@ CURLcode Curl_file_connect(struct connectdata *conn)
return CURLE_OK; return CURLE_OK;
} }
#if defined(WIN32) && (SIZEOF_CURL_OFF_T > 4)
#define lseek(x,y,z) _lseeki64(x, y, z)
#define struct_stat struct _stati64
#define fstat(fd,st) _fstati64(fd,st)
#else
#define struct_stat struct stat
#endif
CURLcode Curl_file_done(struct connectdata *conn, CURLcode Curl_file_done(struct connectdata *conn,
CURLcode status) CURLcode status)
{ {

View File

@ -835,7 +835,7 @@ static CURLcode AddFormData(struct FormData **formp,
/* Since this is a file to be uploaded here, add the size of the actual /* Since this is a file to be uploaded here, add the size of the actual
file */ file */
if(!strequal("-", newform->line)) { if(!strequal("-", newform->line)) {
struct stat file; struct_stat file;
if(!stat(newform->line, &file)) { if(!stat(newform->line, &file)) {
*size += file.st_size; *size += file.st_size;
} }

View File

@ -133,6 +133,14 @@ typedef unsigned char bool;
#define SEND_4TH_ARG 0 #define SEND_4TH_ARG 0
#endif #endif
/* To make large file support transparent even on Windows */
#if defined(WIN32) && (SIZEOF_CURL_OFF_T > 4)
#define lseek(x,y,z) _lseeki64(x, y, z)
#define struct_stat struct _stati64
#define fstat(fd,st) _fstati64(fd,st)
#else
#define struct_stat struct stat
#endif
/* Below we define four functions. They should /* Below we define four functions. They should
1. close a socket 1. close a socket