Commit 3e248749 authored by Yang Tse's avatar Yang Tse
Browse files

Use SIZEOF_OFF_T definition from config file

parent fdcb0cd2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ static char *max5data(curl_off_t bytes, char *max5)
              bytes/ONE_MEGABYTE,
             (bytes%ONE_MEGABYTE) / (ONE_MEGABYTE/CURL_OFF_T_C(10)) );

#if CURL_SIZEOF_CURL_OFF_T > 4
#if (CURL_SIZEOF_CURL_OFF_T > 4)

  else if(bytes < CURL_OFF_T_C(10000) * ONE_MEGABYTE)
    /* 'XXXXM' is good until we're at 10000MB or above */
+26 −0
Original line number Diff line number Diff line
@@ -302,6 +302,32 @@
#  define struct_stat struct stat
#endif

/*
 * Default sizeof(off_t) in case it hasn't been defined in config file.
 */

#ifndef SIZEOF_OFF_T
#  if defined(__VMS) && (defined(__alpha) || defined(__ia64))
#    if defined(_LARGEFILE)
#      define SIZEOF_OFF_T 8
#    endif
#  elif defined(__OS400__) && defined(__ILEC400__)
#    if defined(_LARGE_FILES)
#      define SIZEOF_OFF_T 8
#    endif
#  elif defined(__MVS__) && defined(__IBMC__)
#    if defined(_LP64) || defined(_LARGE_FILES)
#      define SIZEOF_OFF_T 8
#    endif
#  elif defined(__370__) && defined(__IBMC__)
#    if defined(_LP64) || defined(_LARGE_FILES)
#      define SIZEOF_OFF_T 8
#    endif
#  else
#    define SIZEOF_OFF_T 4
#  endif
#endif

/* Below we define some functions. They should
   1. close a socket

+2 −10
Original line number Diff line number Diff line
@@ -190,16 +190,8 @@ static curl_version_info_data version_info = {
#ifdef HAVE_SPNEGO
  | CURL_VERSION_SPNEGO
#endif
/*
 * FIXME before 7.19.0 release.
 *
 * libcurl is largefile enabled when (CURL_SIZEOF_CURL_OFF_T > 4) _AND_
 * libcurl has been built with sizeof(system off_t) > 4 or when large
 * file support is available even with sizeof(system off_t) <= 4.
 *
 * Until this is adjusted, only the (CURL_SIZEOF_CURL_OFF_T > 4) check is done.
 */
#if (CURL_SIZEOF_CURL_OFF_T > 4)
#if (CURL_SIZEOF_CURL_OFF_T > 4) && \
    ( (SIZEOF_OFF_T > 4) || defined(USE_WIN32_LARGE_FILES) )
  | CURL_VERSION_LARGEFILE
#endif
#if defined(CURL_DOES_CONVERSIONS)
+30 −11
Original line number Diff line number Diff line
@@ -242,6 +242,32 @@ typedef enum {
#  define struct_stat struct stat
#endif

/*
 * Default sizeof(off_t) in case it hasn't been defined in config file.
 */

#ifndef SIZEOF_OFF_T
#  if defined(__VMS) && (defined(__alpha) || defined(__ia64))
#    if defined(_LARGEFILE)
#      define SIZEOF_OFF_T 8
#    endif
#  elif defined(__OS400__) && defined(__ILEC400__)
#    if defined(_LARGE_FILES)
#      define SIZEOF_OFF_T 8
#    endif
#  elif defined(__MVS__) && defined(__IBMC__)
#    if defined(_LP64) || defined(_LARGE_FILES)
#      define SIZEOF_OFF_T 8
#    endif
#  elif defined(__370__) && defined(__IBMC__)
#    if defined(_LP64) || defined(_LARGE_FILES)
#      define SIZEOF_OFF_T 8
#    endif
#  else
#    define SIZEOF_OFF_T 4
#  endif
#endif

#ifdef CURL_DOES_CONVERSIONS
#ifdef HAVE_ICONV
iconv_t inbound_cd  = (iconv_t)-1;
@@ -3205,12 +3231,6 @@ struct InStruct {

#define MAX_SEEK 2147483647

#ifndef SIZEOF_OFF_T
/* (Jan 11th 2008) this is a reasonably new define in the config.h so there
   might be older handicrafted configs that don't define it properly and then
   we assume 32bit off_t */
#define SIZEOF_OFF_T 4
#endif
/*
 * my_seek() is the CURLOPT_SEEKFUNCTION we use
 */
@@ -3218,11 +3238,10 @@ static int my_seek(void *stream, curl_off_t offset, int whence)
{
  struct InStruct *in=(struct InStruct *)stream;

#if (CURL_SIZEOF_CURL_OFF_T > SIZEOF_OFF_T) && !defined(lseek)
  /* The sizeof check following here is only interesting if curl_off_t is
     larger than off_t, but also not on windows-like systems for which lseek
     is a defined macro that works around the 32bit off_t-problem and thus do
     64bit seeks correctly anyway */
#if (CURL_SIZEOF_CURL_OFF_T > SIZEOF_OFF_T) && !defined(USE_WIN32_LARGE_FILES)
  /* The offset check following here is only interesting if curl_off_t is
     larger than off_t and we are not using the WIN32 large file support
     macros that provide the support to do 64bit seeks correctly */

  if(offset > MAX_SEEK) {
    /* Some precaution code to work around problems with different data sizes