From 4f5a6a33b46f9c389e6cfcd822c6fc874a3a9752 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 16 Dec 2004 18:09:27 +0000 Subject: [PATCH] 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 --- lib/file.c | 8 -------- lib/formdata.c | 2 +- lib/setup.h | 8 ++++++++ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/file.c b/lib/file.c index 6b2bbd161..267a99ba0 100644 --- a/lib/file.c +++ b/lib/file.c @@ -167,14 +167,6 @@ CURLcode Curl_file_connect(struct connectdata *conn) 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 status) { diff --git a/lib/formdata.c b/lib/formdata.c index 07e5a0ddf..4f0845c3f 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -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 file */ if(!strequal("-", newform->line)) { - struct stat file; + struct_stat file; if(!stat(newform->line, &file)) { *size += file.st_size; } diff --git a/lib/setup.h b/lib/setup.h index b893417a4..b02469976 100644 --- a/lib/setup.h +++ b/lib/setup.h @@ -133,6 +133,14 @@ typedef unsigned char bool; #define SEND_4TH_ARG 0 #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 1. close a socket