Update internal curl to 7.54.0

This commit is contained in:
MAN-AT-ARMS 2017-07-28 09:59:43 -04:00 committed by Tim Angus
parent 6693465336
commit e07ffa715c
15 changed files with 1103 additions and 301 deletions

View file

@ -625,9 +625,9 @@ ifdef MINGW
ifeq ($(USE_LOCAL_HEADERS),1) ifeq ($(USE_LOCAL_HEADERS),1)
CLIENT_CFLAGS += -DCURL_STATICLIB CLIENT_CFLAGS += -DCURL_STATICLIB
ifeq ($(ARCH),x86_64) ifeq ($(ARCH),x86_64)
CLIENT_LIBS += $(LIBSDIR)/win64/libcurl.a CLIENT_LIBS += $(LIBSDIR)/win64/libcurl.a -lcrypt32
else else
CLIENT_LIBS += $(LIBSDIR)/win32/libcurl.a CLIENT_LIBS += $(LIBSDIR)/win32/libcurl.a -lcrypt32
endif endif
else else
CLIENT_LIBS += $(CURL_LIBS) CLIENT_LIBS += $(CURL_LIBS)

View file

@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "../qcommon/qcommon.h" #include "../qcommon/qcommon.h"
#ifdef USE_LOCAL_HEADERS #ifdef USE_LOCAL_HEADERS
#include "../libcurl-7.35.0/curl/curl.h" #include "../curl-7.54.0/include/curl/curl.h"
#else #else
#include <curl/curl.h> #include <curl/curl.h>
#endif #endif

View file

@ -0,0 +1,55 @@
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
Include files for libcurl, external users.
They're all placed in the curl subdirectory here for better fit in any kind
of environment. You must include files from here using...
#include <curl/curl.h>
... style and point the compiler's include path to the directory holding the
curl subdirectory. It makes it more likely to survive future modifications.
NOTE FOR LIBCURL HACKERS
The following notes apply to libcurl version 7.19.0 and later.
* The distributed curl/curlbuild.h file is only intended to be used on systems
which can not run the also distributed configure script.
* The distributed curlbuild.h file is generated as a copy of curlbuild.h.dist
when the libcurl source code distribution archive file is originally created.
* If you check out from git on a non-configure platform, you must run the
appropriate buildconf* script to set up curlbuild.h and other local files
before being able of compiling the library.
* On systems capable of running the configure script, the configure process
will overwrite the distributed include/curl/curlbuild.h file with one that
is suitable and specific to the library being configured and built, which
is generated from the include/curl/curlbuild.h.in template file.
* If you intend to distribute an already compiled libcurl library you _MUST_
also distribute along with it the generated curl/curlbuild.h which has been
used to compile it. Otherwise the library will be of no use for the users of
the library that you have built. It is _your_ responsibility to provide this
file. No one at the curl project can know how you have built the library.
* File curl/curlbuild.h includes platform and configuration dependent info,
and must not be modified by anyone. Configure script generates it for you.
* We cannot assume anything else but very basic compiler features being
present. While libcurl requires an ANSI C compiler to build, some of the
earlier ANSI compilers clearly can't deal with some preprocessor operators.
* Newlines must remain unix-style for older compilers' sake.
* Comments must be written in the old-style /* unnested C-fashion */
To figure out how to do good and portable checks for features, operating
systems or specific hardwarare, a very good resource is Bjorn Reese's
collection at http://predef.sf.net/

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is
@ -49,7 +49,7 @@
* *
* If you think that something actually needs to be changed, adjusted * If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the libcurl development * or fixed in this file, then, report it on the libcurl development
* mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/ * mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/
* *
* Try to keep one section per platform, compiler and architecture, * Try to keep one section per platform, compiler and architecture,
* otherwise, if an existing section is reused for a different one and * otherwise, if an existing section is reused for a different one and
@ -527,9 +527,9 @@
/* ===================================== */ /* ===================================== */
#elif defined(__GNUC__) #elif defined(__GNUC__)
# if defined(__ILP32__) || \ # if !defined(__LP64__) && (defined(__ILP32__) || \
defined(__i386__) || defined(__ppc__) || defined(__powerpc__) || \ defined(__i386__) || defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
defined(__arm__) || defined(__sparc__) defined(__sparc__) || defined(__mips__) || defined(__sh__))
# define CURL_SIZEOF_LONG 4 # define CURL_SIZEOF_LONG 4
# define CURL_TYPEOF_CURL_OFF_T long long # define CURL_TYPEOF_CURL_OFF_T long long
# define CURL_FORMAT_CURL_OFF_T "lld" # define CURL_FORMAT_CURL_OFF_T "lld"
@ -539,8 +539,7 @@
# define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_T LL
# define CURL_SUFFIX_CURL_OFF_TU ULL # define CURL_SUFFIX_CURL_OFF_TU ULL
# elif defined(__LP64__) || \ # elif defined(__LP64__) || \
defined(__x86_64__) || defined(__ppc64__) || defined(__powerpc64__) || \ defined(__x86_64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__sparc64__)
defined(__sparc64__)
# define CURL_SIZEOF_LONG 8 # define CURL_SIZEOF_LONG 8
# define CURL_TYPEOF_CURL_OFF_T long # define CURL_TYPEOF_CURL_OFF_T long
# define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_T "ld"

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is
@ -47,7 +47,7 @@
* library is properly built and used. * library is properly built and used.
* *
* You can find further help on the libcurl development mailing list: * You can find further help on the libcurl development mailing list:
* http://cool.haxx.se/mailman/listinfo/curl-library/ * https://cool.haxx.se/mailman/listinfo/curl-library/
* *
* NOTE 2 * NOTE 2
* ------ * ------
@ -105,11 +105,6 @@
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing
#endif #endif
#ifndef CURL_FORMAT_OFF_T
# error "CURL_FORMAT_OFF_T definition is missing!"
Error Compilation_aborted_CURL_FORMAT_OFF_T_is_missing
#endif
#ifndef CURL_SIZEOF_CURL_OFF_T #ifndef CURL_SIZEOF_CURL_OFF_T
# error "CURL_SIZEOF_CURL_OFF_T definition is missing!" # error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing
@ -241,22 +236,4 @@ typedef char
#undef CurlchkszEQ #undef CurlchkszEQ
#undef CurlchkszGE #undef CurlchkszGE
/*
* Get rid of macros not intended to exist beyond this point.
*/
#undef CURL_PULL_WS2TCPIP_H
#undef CURL_PULL_SYS_TYPES_H
#undef CURL_PULL_SYS_SOCKET_H
#undef CURL_PULL_SYS_POLL_H
#undef CURL_PULL_STDINT_H
#undef CURL_PULL_INTTYPES_H
#undef CURL_TYPEOF_CURL_SOCKLEN_T
#undef CURL_TYPEOF_CURL_OFF_T
#ifdef CURL_NO_OLDIES
#undef CURL_FORMAT_OFF_T /* not required since 7.19.0 - obsoleted in 7.20.0 */
#endif
#endif /* __CURL_CURLRULES_H */ #endif /* __CURL_CURLRULES_H */

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is
@ -26,16 +26,16 @@
a script at release-time. This was made its own header file in 7.11.2 */ a script at release-time. This was made its own header file in 7.11.2 */
/* This is the global package copyright */ /* This is the global package copyright */
#define LIBCURL_COPYRIGHT "1996 - 2014 Daniel Stenberg, <daniel@haxx.se>." #define LIBCURL_COPYRIGHT "1996 - 2017 Daniel Stenberg, <daniel@haxx.se>."
/* This is the version number of the libcurl package from which this header /* This is the version number of the libcurl package from which this header
file origins: */ file origins: */
#define LIBCURL_VERSION "7.35.0" #define LIBCURL_VERSION "7.54.0"
/* The numeric version number is also available "in parts" by using these /* The numeric version number is also available "in parts" by using these
defines: */ defines: */
#define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MAJOR 7
#define LIBCURL_VERSION_MINOR 35 #define LIBCURL_VERSION_MINOR 54
#define LIBCURL_VERSION_PATCH 0 #define LIBCURL_VERSION_PATCH 0
/* This is the numeric version of the libcurl version number, meant for easier /* This is the numeric version of the libcurl version number, meant for easier
@ -52,8 +52,12 @@
This 6-digit (24 bits) hexadecimal number does not show pre-release number, This 6-digit (24 bits) hexadecimal number does not show pre-release number,
and it is always a greater number in a more recent release. It makes and it is always a greater number in a more recent release. It makes
comparisons with greater than and less than work. comparisons with greater than and less than work.
Note: This define is the full hex number and _does not_ use the
CURL_VERSION_BITS() macro since curl's own configure script greps for it
and needs it to contain the full number.
*/ */
#define LIBCURL_VERSION_NUM 0x072300 #define LIBCURL_VERSION_NUM 0x073600
/* /*
* This is the date and time when the full source package was created. The * This is the date and time when the full source package was created. The
@ -64,6 +68,10 @@
* *
* "Mon Feb 12 11:35:33 UTC 2007" * "Mon Feb 12 11:35:33 UTC 2007"
*/ */
#define LIBCURL_TIMESTAMP "Wed Jan 29 07:09:27 UTC 2014" #define LIBCURL_TIMESTAMP "Wed Apr 19 05:43:55 UTC 2017"
#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
#define CURL_AT_LEAST_VERSION(x,y,z) \
(LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
#endif /* __CURL_CURLVER_H */ #endif /* __CURL_CURLVER_H */

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is
@ -24,8 +24,7 @@
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> /* needed for FILE */ #include <stdio.h> /* needed for FILE */
#include "curl.h" /* for CURL_EXTERN */
#include "curl.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -44,36 +43,6 @@ CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
CURL_EXTERN char *curl_maprintf(const char *format, ...); CURL_EXTERN char *curl_maprintf(const char *format, ...);
CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args); CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
#ifdef _MPRINTF_REPLACE
# undef printf
# undef fprintf
# undef sprintf
# undef vsprintf
# undef snprintf
# undef vprintf
# undef vfprintf
# undef vsnprintf
# undef aprintf
# undef vaprintf
# define printf curl_mprintf
# define fprintf curl_mfprintf
#ifdef CURLDEBUG
/* When built with CURLDEBUG we define away the sprintf functions since we
don't want internal code to be using them */
# define sprintf sprintf_was_used
# define vsprintf vsprintf_was_used
#else
# define sprintf curl_msprintf
# define vsprintf curl_mvsprintf
#endif
# define snprintf curl_msnprintf
# define vprintf curl_mvprintf
# define vfprintf curl_mvfprintf
# define vsnprintf curl_mvsnprintf
# define aprintf curl_maprintf
# define vaprintf curl_mvaprintf
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is
@ -52,7 +52,11 @@
extern "C" { extern "C" {
#endif #endif
#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
typedef struct Curl_multi CURLM;
#else
typedef void CURLM; typedef void CURLM;
#endif
typedef enum { typedef enum {
CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
@ -74,6 +78,11 @@ typedef enum {
curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */ curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM #define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
/* bitmask bits for CURLMOPT_PIPELINING */
#define CURLPIPE_NOTHING 0L
#define CURLPIPE_HTTP1 1L
#define CURLPIPE_MULTIPLEX 2L
typedef enum { typedef enum {
CURLMSG_NONE, /* first, not used */ CURLMSG_NONE, /* first, not used */
CURLMSG_DONE, /* This easy handle has completed. 'result' contains CURLMSG_DONE, /* This easy handle has completed. 'result' contains
@ -209,7 +218,7 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
* curl_multi_cleanup(). * curl_multi_cleanup().
* *
* The 'CURLMsg' struct is meant to be very simple and only contain * The 'CURLMsg' struct is meant to be very simple and only contain
* very basic informations. If more involved information is wanted, * very basic information. If more involved information is wanted,
* we will provide the particular "transfer handle" in that struct * we will provide the particular "transfer handle" in that struct
* and that should/could/would be used in subsequent * and that should/could/would be used in subsequent
* curl_easy_getinfo() calls (or similar). The point being that we * curl_easy_getinfo() calls (or similar). The point being that we
@ -365,6 +374,12 @@ typedef enum {
/* maximum number of open connections in total */ /* maximum number of open connections in total */
CINIT(MAX_TOTAL_CONNECTIONS, LONG, 13), CINIT(MAX_TOTAL_CONNECTIONS, LONG, 13),
/* This is the server push callback function pointer */
CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14),
/* This is the argument passed to the server push callback */
CINIT(PUSHDATA, OBJECTPOINT, 15),
CURLMOPT_LASTENTRY /* the last unused */ CURLMOPT_LASTENTRY /* the last unused */
} CURLMoption; } CURLMoption;
@ -392,6 +407,31 @@ CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
curl_socket_t sockfd, void *sockp); curl_socket_t sockfd, void *sockp);
/*
* Name: curl_push_callback
*
* Desc: This callback gets called when a new stream is being pushed by the
* server. It approves or denies the new stream.
*
* Returns: CURL_PUSH_OK or CURL_PUSH_DENY.
*/
#define CURL_PUSH_OK 0
#define CURL_PUSH_DENY 1
struct curl_pushheaders; /* forward declaration only */
CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h,
size_t num);
CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h,
const char *name);
typedef int (*curl_push_callback)(CURL *parent,
CURL *easy,
size_t num_headers,
struct curl_pushheaders *headers,
void *userp);
#ifdef __cplusplus #ifdef __cplusplus
} /* end of extern "C" */ } /* end of extern "C" */
#endif #endif

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is

View file

@ -0,0 +1,484 @@
#ifndef __CURL_SYSTEM_H
#define __CURL_SYSTEM_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
/*
* This header is supposed to eventually replace curlbuild.h. This little one
* is still learning. During the experimental phase, this header files
* defines symbols using the prefixes CURLSYS_ or curlsys_. When we feel
* confident enough, we replace curlbuild.h with this file and rename all
* prefixes to CURL_ and curl_.
*/
/*
* Try to keep one section per platform, compiler and architecture, otherwise,
* if an existing section is reused for a different one and later on the
* original is adjusted, probably the piggybacking one can be adversely
* changed.
*
* In order to differentiate between platforms/compilers/architectures use
* only compiler built in predefined preprocessor symbols.
*
* curl_off_t
* ----------
*
* For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit
* wide signed integral data type. The width of this data type must remain
* constant and independent of any possible large file support settings.
*
* As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit
* wide signed integral data type if there is no 64-bit type.
*
* As a general rule, curl_off_t shall not be mapped to off_t. This rule shall
* only be violated if off_t is the only 64-bit data type available and the
* size of off_t is independent of large file support settings. Keep your
* build on the safe side avoiding an off_t gating. If you have a 64-bit
* off_t then take for sure that another 64-bit data type exists, dig deeper
* and you will find it.
*
*/
#if defined(__DJGPP__) || defined(__GO32__)
# if defined(__DJGPP__) && (__DJGPP__ > 1)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# else
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__SALFORDC__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__BORLANDC__)
# if (__BORLANDC__ < 0x520)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# else
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T __int64
# define CURLSYS_FORMAT_CURL_OFF_T "I64d"
# define CURLSYS_FORMAT_CURL_OFF_TU "I64u"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T i64
# define CURLSYS_SUFFIX_CURL_OFF_TU ui64
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__TURBOC__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__WATCOMC__)
# if defined(__386__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T __int64
# define CURLSYS_FORMAT_CURL_OFF_T "I64d"
# define CURLSYS_FORMAT_CURL_OFF_TU "I64u"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T i64
# define CURLSYS_SUFFIX_CURL_OFF_TU ui64
# else
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__POCC__)
# if (__POCC__ < 280)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# elif defined(_MSC_VER)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T __int64
# define CURLSYS_FORMAT_CURL_OFF_T "I64d"
# define CURLSYS_FORMAT_CURL_OFF_TU "I64u"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T i64
# define CURLSYS_SUFFIX_CURL_OFF_TU ui64
# else
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__LCC__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__SYMBIAN32__)
# if defined(__EABI__) /* Treat all ARM compilers equally */
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# elif defined(__CW32__)
# pragma longlong on
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# elif defined(__VC32__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T __int64
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T unsigned int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__MWERKS__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(_WIN32_WCE)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T __int64
# define CURLSYS_FORMAT_CURL_OFF_T "I64d"
# define CURLSYS_FORMAT_CURL_OFF_TU "I64u"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T i64
# define CURLSYS_SUFFIX_CURL_OFF_TU ui64
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__MINGW32__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "I64d"
# define CURLSYS_FORMAT_CURL_OFF_TU "I64u"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
# define CURLSYS_PULL_SYS_TYPES_H 1
# define CURLSYS_PULL_WS2TCPIP_H 1
#elif defined(__VMS)
# if defined(__VAX)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# else
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T unsigned int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__OS400__)
# if defined(__ILEC400__)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
# define CURLSYS_PULL_SYS_TYPES_H 1
# define CURLSYS_PULL_SYS_SOCKET_H 1
# endif
#elif defined(__MVS__)
# if defined(__IBMC__) || defined(__IBMCPP__)
# if defined(_ILP32)
# define CURLSYS_SIZEOF_LONG 4
# elif defined(_LP64)
# define CURLSYS_SIZEOF_LONG 8
# endif
# if defined(_LONG_LONG)
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# elif defined(_LP64)
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# else
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
# define CURLSYS_PULL_SYS_TYPES_H 1
# define CURLSYS_PULL_SYS_SOCKET_H 1
# endif
#elif defined(__370__)
# if defined(__IBMC__) || defined(__IBMCPP__)
# if defined(_ILP32)
# define CURLSYS_SIZEOF_LONG 4
# elif defined(_LP64)
# define CURLSYS_SIZEOF_LONG 8
# endif
# if defined(_LONG_LONG)
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# elif defined(_LP64)
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# else
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
# define CURLSYS_PULL_SYS_TYPES_H 1
# define CURLSYS_PULL_SYS_SOCKET_H 1
# endif
#elif defined(TPF)
# define CURLSYS_SIZEOF_LONG 8
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
#elif defined(__TINYC__) /* also known as tcc */
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURLSYS_PULL_SYS_TYPES_H 1
# define CURLSYS_PULL_SYS_SOCKET_H 1
/* ===================================== */
/* KEEP MSVC THE PENULTIMATE ENTRY */
/* ===================================== */
#elif defined(_MSC_VER)
# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T __int64
# define CURLSYS_FORMAT_CURL_OFF_T "I64d"
# define CURLSYS_FORMAT_CURL_OFF_TU "I64u"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T i64
# define CURLSYS_SUFFIX_CURL_OFF_TU ui64
# else
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
/* ===================================== */
/* KEEP GENERIC GCC THE LAST ENTRY */
/* ===================================== */
#elif defined(__GNUC__)
# if !defined(__LP64__) && (defined(__ILP32__) || \
defined(__i386__) || defined(__ppc__) || defined(__arm__) || \
defined(__sparc__) || defined(__mips__) || defined(__sh__))
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_TYPEOF_CURL_OFF_T long long
# define CURLSYS_FORMAT_CURL_OFF_T "lld"
# define CURLSYS_FORMAT_CURL_OFF_TU "llu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T LL
# define CURLSYS_SUFFIX_CURL_OFF_TU ULL
# elif defined(__LP64__) || \
defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__)
# define CURLSYS_SIZEOF_LONG 8
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SIZEOF_CURL_OFF_T 8
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# endif
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
# define CURLSYS_PULL_SYS_TYPES_H 1
# define CURLSYS_PULL_SYS_SOCKET_H 1
#else
/* generic "safe guess" on old 32 bit style */
# define CURLSYS_SIZEOF_LONG 4
# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
# define CURLSYS_SIZEOF_CURL_OFF_T 4
# define CURLSYS_TYPEOF_CURL_OFF_T long
# define CURLSYS_FORMAT_CURL_OFF_T "ld"
# define CURLSYS_FORMAT_CURL_OFF_TU "lu"
# define CURLSYS_SUFFIX_CURL_OFF_T L
# define CURLSYS_SUFFIX_CURL_OFF_TU UL
# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
#endif
/* CURLSYS_PULL_WS2TCPIP_H is defined above when inclusion of header file */
/* ws2tcpip.h is required here to properly make type definitions below. */
#ifdef CURLSYS_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* CURLSYS_PULL_SYS_TYPES_H is defined above when inclusion of header file */
/* sys/types.h is required here to properly make type definitions below. */
#ifdef CURLSYS_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* CURLSYS_PULL_SYS_SOCKET_H is defined above when inclusion of header file */
/* sys/socket.h is required here to properly make type definitions below. */
#ifdef CURLSYS_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* Data type definition of curl_socklen_t. */
#ifdef CURLSYS_TYPEOF_CURL_SOCKLEN_T
typedef CURLSYS_TYPEOF_CURL_SOCKLEN_T curlsys_socklen_t;
#endif
/* Data type definition of curl_off_t. */
#ifdef CURLSYS_TYPEOF_CURL_OFF_T
typedef CURLSYS_TYPEOF_CURL_OFF_T curlsys_off_t;
#endif
#endif /* __CURL_SYSTEM_H */

View file

@ -7,11 +7,11 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html. * are also available at https://curl.haxx.se/docs/copyright.html.
* *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell * You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is * copies of the Software, and permit persons to whom the Software is
@ -151,7 +151,7 @@ _CURL_WARNING(_curl_easy_setopt_err_curl_off_t,
"curl_easy_setopt expects a curl_off_t argument for this option") "curl_easy_setopt expects a curl_off_t argument for this option")
_CURL_WARNING(_curl_easy_setopt_err_string, _CURL_WARNING(_curl_easy_setopt_err_string,
"curl_easy_setopt expects a " "curl_easy_setopt expects a "
"string (char* or char[]) argument for this option" "string ('char *' or char[]) argument for this option"
) )
_CURL_WARNING(_curl_easy_setopt_err_write_callback, _CURL_WARNING(_curl_easy_setopt_err_write_callback,
"curl_easy_setopt expects a curl_write_callback argument for this option") "curl_easy_setopt expects a curl_write_callback argument for this option")
@ -182,24 +182,25 @@ _CURL_WARNING(_curl_easy_setopt_err_error_buffer,
"curl_easy_setopt expects a " "curl_easy_setopt expects a "
"char buffer of CURL_ERROR_SIZE as argument for this option") "char buffer of CURL_ERROR_SIZE as argument for this option")
_CURL_WARNING(_curl_easy_setopt_err_FILE, _CURL_WARNING(_curl_easy_setopt_err_FILE,
"curl_easy_setopt expects a FILE* argument for this option") "curl_easy_setopt expects a 'FILE *' argument for this option")
_CURL_WARNING(_curl_easy_setopt_err_postfields, _CURL_WARNING(_curl_easy_setopt_err_postfields,
"curl_easy_setopt expects a void* or char* argument for this option") "curl_easy_setopt expects a 'void *' or 'char *' argument for this option")
_CURL_WARNING(_curl_easy_setopt_err_curl_httpost, _CURL_WARNING(_curl_easy_setopt_err_curl_httpost,
"curl_easy_setopt expects a struct curl_httppost* argument for this option") "curl_easy_setopt expects a 'struct curl_httppost *' "
"argument for this option")
_CURL_WARNING(_curl_easy_setopt_err_curl_slist, _CURL_WARNING(_curl_easy_setopt_err_curl_slist,
"curl_easy_setopt expects a struct curl_slist* argument for this option") "curl_easy_setopt expects a 'struct curl_slist *' argument for this option")
_CURL_WARNING(_curl_easy_setopt_err_CURLSH, _CURL_WARNING(_curl_easy_setopt_err_CURLSH,
"curl_easy_setopt expects a CURLSH* argument for this option") "curl_easy_setopt expects a CURLSH* argument for this option")
_CURL_WARNING(_curl_easy_getinfo_err_string, _CURL_WARNING(_curl_easy_getinfo_err_string,
"curl_easy_getinfo expects a pointer to char * for this info") "curl_easy_getinfo expects a pointer to 'char *' for this info")
_CURL_WARNING(_curl_easy_getinfo_err_long, _CURL_WARNING(_curl_easy_getinfo_err_long,
"curl_easy_getinfo expects a pointer to long for this info") "curl_easy_getinfo expects a pointer to long for this info")
_CURL_WARNING(_curl_easy_getinfo_err_double, _CURL_WARNING(_curl_easy_getinfo_err_double,
"curl_easy_getinfo expects a pointer to double for this info") "curl_easy_getinfo expects a pointer to double for this info")
_CURL_WARNING(_curl_easy_getinfo_err_curl_slist, _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
"curl_easy_getinfo expects a pointer to struct curl_slist * for this info") "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info")
/* groups of curl_easy_setops options that take the same type of argument */ /* groups of curl_easy_setops options that take the same type of argument */
@ -218,58 +219,68 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
/* evaluates to true if option takes a char* argument */ /* evaluates to true if option takes a char* argument */
#define _curl_is_string_option(option) \ #define _curl_is_string_option(option) \
((option) == CURLOPT_URL || \ ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \
(option) == CURLOPT_PROXY || \
(option) == CURLOPT_INTERFACE || \
(option) == CURLOPT_NETRC_FILE || \
(option) == CURLOPT_USERPWD || \
(option) == CURLOPT_USERNAME || \
(option) == CURLOPT_PASSWORD || \
(option) == CURLOPT_PROXYUSERPWD || \
(option) == CURLOPT_PROXYUSERNAME || \
(option) == CURLOPT_PROXYPASSWORD || \
(option) == CURLOPT_NOPROXY || \
(option) == CURLOPT_ACCEPT_ENCODING || \ (option) == CURLOPT_ACCEPT_ENCODING || \
(option) == CURLOPT_REFERER || \ (option) == CURLOPT_CAINFO || \
(option) == CURLOPT_USERAGENT || \ (option) == CURLOPT_CAPATH || \
(option) == CURLOPT_COOKIE || \ (option) == CURLOPT_COOKIE || \
(option) == CURLOPT_COOKIEFILE || \ (option) == CURLOPT_COOKIEFILE || \
(option) == CURLOPT_COOKIEJAR || \ (option) == CURLOPT_COOKIEJAR || \
(option) == CURLOPT_COOKIELIST || \ (option) == CURLOPT_COOKIELIST || \
(option) == CURLOPT_FTPPORT || \
(option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
(option) == CURLOPT_FTP_ACCOUNT || \
(option) == CURLOPT_RANGE || \
(option) == CURLOPT_CUSTOMREQUEST || \
(option) == CURLOPT_SSLCERT || \
(option) == CURLOPT_SSLCERTTYPE || \
(option) == CURLOPT_SSLKEY || \
(option) == CURLOPT_SSLKEYTYPE || \
(option) == CURLOPT_KEYPASSWD || \
(option) == CURLOPT_SSLENGINE || \
(option) == CURLOPT_CAINFO || \
(option) == CURLOPT_CAPATH || \
(option) == CURLOPT_RANDOM_FILE || \
(option) == CURLOPT_EGDSOCKET || \
(option) == CURLOPT_SSL_CIPHER_LIST || \
(option) == CURLOPT_KRBLEVEL || \
(option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
(option) == CURLOPT_SSH_PUBLIC_KEYFILE || \
(option) == CURLOPT_SSH_PRIVATE_KEYFILE || \
(option) == CURLOPT_CRLFILE || \ (option) == CURLOPT_CRLFILE || \
(option) == CURLOPT_ISSUERCERT || \ (option) == CURLOPT_CUSTOMREQUEST || \
(option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \ (option) == CURLOPT_DEFAULT_PROTOCOL || \
(option) == CURLOPT_SSH_KNOWNHOSTS || \
(option) == CURLOPT_MAIL_FROM || \
(option) == CURLOPT_RTSP_SESSION_ID || \
(option) == CURLOPT_RTSP_STREAM_URI || \
(option) == CURLOPT_RTSP_TRANSPORT || \
(option) == CURLOPT_XOAUTH2_BEARER || \
(option) == CURLOPT_DNS_SERVERS || \
(option) == CURLOPT_DNS_INTERFACE || \ (option) == CURLOPT_DNS_INTERFACE || \
(option) == CURLOPT_DNS_LOCAL_IP4 || \ (option) == CURLOPT_DNS_LOCAL_IP4 || \
(option) == CURLOPT_DNS_LOCAL_IP6 || \ (option) == CURLOPT_DNS_LOCAL_IP6 || \
(option) == CURLOPT_DNS_SERVERS || \
(option) == CURLOPT_EGDSOCKET || \
(option) == CURLOPT_FTPPORT || \
(option) == CURLOPT_FTP_ACCOUNT || \
(option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
(option) == CURLOPT_INTERFACE || \
(option) == CURLOPT_ISSUERCERT || \
(option) == CURLOPT_KEYPASSWD || \
(option) == CURLOPT_KRBLEVEL || \
(option) == CURLOPT_LOGIN_OPTIONS || \ (option) == CURLOPT_LOGIN_OPTIONS || \
(option) == CURLOPT_MAIL_AUTH || \
(option) == CURLOPT_MAIL_FROM || \
(option) == CURLOPT_NETRC_FILE || \
(option) == CURLOPT_NOPROXY || \
(option) == CURLOPT_PASSWORD || \
(option) == CURLOPT_PINNEDPUBLICKEY || \
(option) == CURLOPT_PROXY || \
(option) == CURLOPT_PROXYPASSWORD || \
(option) == CURLOPT_PROXYUSERNAME || \
(option) == CURLOPT_PROXYUSERPWD || \
(option) == CURLOPT_PROXY_SERVICE_NAME || \
(option) == CURLOPT_RANDOM_FILE || \
(option) == CURLOPT_RANGE || \
(option) == CURLOPT_REFERER || \
(option) == CURLOPT_RTSP_SESSION_ID || \
(option) == CURLOPT_RTSP_STREAM_URI || \
(option) == CURLOPT_RTSP_TRANSPORT || \
(option) == CURLOPT_SERVICE_NAME || \
(option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \
(option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
(option) == CURLOPT_SSH_KNOWNHOSTS || \
(option) == CURLOPT_SSH_PRIVATE_KEYFILE || \
(option) == CURLOPT_SSH_PUBLIC_KEYFILE || \
(option) == CURLOPT_SSLCERT || \
(option) == CURLOPT_SSLCERTTYPE || \
(option) == CURLOPT_SSLENGINE || \
(option) == CURLOPT_SSLKEY || \
(option) == CURLOPT_SSLKEYTYPE || \
(option) == CURLOPT_SSL_CIPHER_LIST || \
(option) == CURLOPT_TLSAUTH_PASSWORD || \
(option) == CURLOPT_TLSAUTH_TYPE || \
(option) == CURLOPT_TLSAUTH_USERNAME || \
(option) == CURLOPT_UNIX_SOCKET_PATH || \
(option) == CURLOPT_URL || \
(option) == CURLOPT_USERAGENT || \
(option) == CURLOPT_USERNAME || \
(option) == CURLOPT_USERPWD || \
(option) == CURLOPT_XOAUTH2_BEARER || \
0) 0)
/* evaluates to true if option takes a curl_write_callback argument */ /* evaluates to true if option takes a curl_write_callback argument */
@ -285,21 +296,22 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
/* evaluates to true if option takes a data argument to pass to a callback */ /* evaluates to true if option takes a data argument to pass to a callback */
#define _curl_is_cb_data_option(option) \ #define _curl_is_cb_data_option(option) \
((option) == CURLOPT_WRITEDATA || \ ((option) == CURLOPT_CHUNK_DATA || \
(option) == CURLOPT_READDATA || \ (option) == CURLOPT_CLOSESOCKETDATA || \
(option) == CURLOPT_IOCTLDATA || \
(option) == CURLOPT_SOCKOPTDATA || \
(option) == CURLOPT_OPENSOCKETDATA || \
(option) == CURLOPT_PROGRESSDATA || \
(option) == CURLOPT_WRITEHEADER || \
(option) == CURLOPT_DEBUGDATA || \ (option) == CURLOPT_DEBUGDATA || \
(option) == CURLOPT_SSL_CTX_DATA || \
(option) == CURLOPT_SEEKDATA || \
(option) == CURLOPT_PRIVATE || \
(option) == CURLOPT_SSH_KEYDATA || \
(option) == CURLOPT_INTERLEAVEDATA || \
(option) == CURLOPT_CHUNK_DATA || \
(option) == CURLOPT_FNMATCH_DATA || \ (option) == CURLOPT_FNMATCH_DATA || \
(option) == CURLOPT_HEADERDATA || \
(option) == CURLOPT_INTERLEAVEDATA || \
(option) == CURLOPT_IOCTLDATA || \
(option) == CURLOPT_OPENSOCKETDATA || \
(option) == CURLOPT_PRIVATE || \
(option) == CURLOPT_PROGRESSDATA || \
(option) == CURLOPT_READDATA || \
(option) == CURLOPT_SEEKDATA || \
(option) == CURLOPT_SOCKOPTDATA || \
(option) == CURLOPT_SSH_KEYDATA || \
(option) == CURLOPT_SSL_CTX_DATA || \
(option) == CURLOPT_WRITEDATA || \
0) 0)
/* evaluates to true if option takes a POST data argument (void* or char*) */ /* evaluates to true if option takes a POST data argument (void* or char*) */
@ -310,13 +322,15 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
/* evaluates to true if option takes a struct curl_slist * argument */ /* evaluates to true if option takes a struct curl_slist * argument */
#define _curl_is_slist_option(option) \ #define _curl_is_slist_option(option) \
((option) == CURLOPT_HTTPHEADER || \ ((option) == CURLOPT_HTTP200ALIASES || \
(option) == CURLOPT_HTTP200ALIASES || \ (option) == CURLOPT_HTTPHEADER || \
(option) == CURLOPT_QUOTE || \ (option) == CURLOPT_MAIL_RCPT || \
(option) == CURLOPT_POSTQUOTE || \ (option) == CURLOPT_POSTQUOTE || \
(option) == CURLOPT_PREQUOTE || \ (option) == CURLOPT_PREQUOTE || \
(option) == CURLOPT_PROXYHEADER || \
(option) == CURLOPT_QUOTE || \
(option) == CURLOPT_RESOLVE || \
(option) == CURLOPT_TELNETOPTIONS || \ (option) == CURLOPT_TELNETOPTIONS || \
(option) == CURLOPT_MAIL_RCPT || \
0) 0)
/* groups of curl_easy_getinfo infos that take the same type of argument */ /* groups of curl_easy_getinfo infos that take the same type of argument */

Binary file not shown.

Binary file not shown.