diff options
author | Yang Tse <yangsita@gmail.com> | 2009-04-02 18:50:39 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2009-04-02 18:50:39 +0000 |
commit | 168fb3a8d89bd83c926f3fa2314e064294ebff0b (patch) | |
tree | e16676f93a0663044ea88eb07dfb81f08d363356 | |
parent | 4c5307b45655ba75ab066564afdc0c111a8b9291 (diff) |
Fix curl_off_t definition for builds done using Sun compilers and a
non-configured libcurl. In this case curl_off_t data type was gated
to the off_t data type which depends on the _FILE_OFFSET_BITS. This
configuration is exactly the unwanted configuration for our curl_off_t
data type which must not depend on such setting. This breaks ABI for
libcurl libraries built with Sun compilers which were built without
having run the configure script with _FILE_OFFSET_BITS different than
64 and using the ILP32 data model.
-rw-r--r-- | CHANGES | 10 | ||||
-rw-r--r-- | RELEASE-NOTES | 1 | ||||
-rw-r--r-- | include/curl/curlbuild.h.dist | 44 |
3 files changed, 37 insertions, 18 deletions
@@ -7,6 +7,16 @@ Changelog +Yang Tse (2 Apr 2009) +- Fix curl_off_t definition for builds done using Sun compilers and a + non-configured libcurl. In this case curl_off_t data type was gated + to the off_t data type which depends on the _FILE_OFFSET_BITS. This + configuration is exactly the unwanted configuration for our curl_off_t + data type which must not depend on such setting. This breaks ABI for + libcurl libraries built with Sun compilers which were built without + having run the configure script with _FILE_OFFSET_BITS different than + 64 and using the ILP32 data model. + Daniel Stenberg (1 Apr 2009) - Andre Guibert de Bruet fixed a NULL pointer use in an infof() call if a strdup() call failed. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index d211b2fef..b3388b219 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -24,6 +24,7 @@ This release includes the following bugfixes: o missing Curl_read() and write callback result checking in TELNET transfers o more ciphers enabled in libcurl built to use NSS o properly return an error code in curl_easy_recv + o fixed curl_off_t definition for non-configured builds with Sun compilers This release includes the following known bugs: diff --git a/include/curl/curlbuild.h.dist b/include/curl/curlbuild.h.dist index 247213cd4..bc5950df5 100644 --- a/include/curl/curlbuild.h.dist +++ b/include/curl/curlbuild.h.dist @@ -443,25 +443,33 @@ /* ===================================== */ #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#include <sys/types.h> -#include <stdint.h> - -# define CURL_TYPEOF_CURL_OFF_T off_t -# define CURL_SIZEOF_CURL_OFF_T 8 -# if defined(__amd64) || defined(__sparcv9) -# define CURL_SIZEOF_LONG 8 -# define CURL_FORMAT_CURL_OFF_T "ld" -# define CURL_FORMAT_CURL_OFF_TU "lu" -# define CURL_FORMAT_OFF_T "%ld" -# define CURL_SUFFIX_CURL_OFF_T L -# define CURL_SUFFIX_CURL_OFF_TU UL +# if defined(_LP64) +# define CURL_SIZEOF_LONG 8 +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_FORMAT_OFF_T "%ld" +# define CURL_SIZEOF_CURL_OFF_T 8 +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# elif defined(__STDC__) && (__STDC__ == 1) +# define CURL_SIZEOF_LONG 4 +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_FORMAT_OFF_T "%ld" +# define CURL_SIZEOF_CURL_OFF_T 4 +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL # else -# define CURL_SIZEOF_LONG 4 -# define CURL_FORMAT_CURL_OFF_T "lld" -# define CURL_FORMAT_CURL_OFF_TU "llu" -# define CURL_FORMAT_OFF_T "%lld" -# define CURL_SUFFIX_CURL_OFF_T LL -# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_SIZEOF_LONG 4 +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_FORMAT_OFF_T "%lld" +# define CURL_SIZEOF_CURL_OFF_T 8 +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL # endif /* ===================================== */ |