diff options
author | Tobias Markmann <tm@ayena.de> | 2015-11-12 13:42:58 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2015-12-17 20:06:10 (GMT) |
commit | 02a5b5c7f263913bd3d9b6977a1c6935e90c97eb (patch) | |
tree | c5f3078540ae663d2a7cd379660f2fb8847efb06 /3rdParty/LibIDN | |
parent | 6c63910aa1016f06113fd562c8ffebfa6b4241b2 (diff) | |
download | swift-02a5b5c7f263913bd3d9b6977a1c6935e90c97eb.zip swift-02a5b5c7f263913bd3d9b6977a1c6935e90c97eb.tar.bz2 |
3rdParty fixes to enable compatibility with VS 2015
Included patches for future reference.
Test-Information:
Tested patches with VS 2015 Community and unit tests for
32 bit and 64 bit builds.
Change-Id: Ifa8d0ca3bf33010af8d8094c6df45f2a5702976c
Diffstat (limited to '3rdParty/LibIDN')
-rw-r--r-- | 3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff | 36 | ||||
-rw-r--r-- | 3rdParty/LibIDN/SConscript | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | 3rdParty/LibIDN/src/stringprep.c | 9 | ||||
-rw-r--r-- | 3rdParty/LibIDN/stubs/win32/stdbool/stdbool.h (renamed from 3rdParty/LibIDN/stubs/win32/stdbool.h) | 0 |
4 files changed, 46 insertions, 3 deletions
diff --git a/3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff b/3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff new file mode 100644 index 0000000..0d864bc --- /dev/null +++ b/3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff @@ -0,0 +1,36 @@ +diff --git a/3rdParty/LibIDN/src/stringprep.c b/3rdParty/LibIDN/src/stringprep.c +old mode 100644 +new mode 100755 +index 8ff28e6..19bf0d9 +--- a/3rdParty/LibIDN/src/stringprep.c ++++ b/3rdParty/LibIDN/src/stringprep.c +@@ -33,6 +33,7 @@ + + #include <stdlib.h> + #include <string.h> ++#include <assert.h> + + #include "stringprep.h" + +@@ -372,7 +373,7 @@ stringprep (char *in, + int rc; + char *utf8 = NULL; + uint32_t *ucs4 = NULL; +- size_t ucs4len, maxucs4len, adducs4len = 50; ++ size_t ucs4len = SIZE_MAX, maxucs4len = SIZE_MAX, adducs4len = 50; + + do + { +@@ -380,8 +381,10 @@ stringprep (char *in, + + free (ucs4); + ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len); +- if (ucs4 == NULL) +- return STRINGPREP_ICONV_ERROR; ++ if (ucs4 == NULL) { ++ return STRINGPREP_ICONV_ERROR; ++ } ++ assert(ucs4len != SIZE_MAX); + maxucs4len = ucs4len + adducs4len; + newp = realloc (ucs4, maxucs4len * sizeof (uint32_t)); + if (!newp) diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript index cfe189b..e3ed839 100644 --- a/3rdParty/LibIDN/SConscript +++ b/3rdParty/LibIDN/SConscript @@ -19,6 +19,8 @@ if env.get("LIBIDN_BUNDLED", False) : if env["PLATFORM"] == "win32" : env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")] + if float(env["MSVC_VERSION"]) < 14: + env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/stdbool")] if env["MSVC_VERSION"][:3] == "9.0" : env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")] @@ -52,6 +54,8 @@ if env.get("LIBIDN_BUNDLED", False) : myenv.Append(CPPPATH = ["src", "stubs", "src/gl"]) if myenv["PLATFORM"] == "win32" : myenv.Append(CPPPATH = "stubs/win32") + if float(env["MSVC_VERSION"]) < 14: + myenv.Append(CPPPATH = "stubs/win32/stdbool") if myenv["MSVC_VERSION"][:3] == "9.0" : myenv.Append(CPPPATH = "stubs/win32/VC2008") diff --git a/3rdParty/LibIDN/src/stringprep.c b/3rdParty/LibIDN/src/stringprep.c index 8ff28e6..19bf0d9 100644..100755 --- a/3rdParty/LibIDN/src/stringprep.c +++ b/3rdParty/LibIDN/src/stringprep.c @@ -33,6 +33,7 @@ #include <stdlib.h> #include <string.h> +#include <assert.h> #include "stringprep.h" @@ -372,7 +373,7 @@ stringprep (char *in, int rc; char *utf8 = NULL; uint32_t *ucs4 = NULL; - size_t ucs4len, maxucs4len, adducs4len = 50; + size_t ucs4len = SIZE_MAX, maxucs4len = SIZE_MAX, adducs4len = 50; do { @@ -380,8 +381,10 @@ stringprep (char *in, free (ucs4); ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len); - if (ucs4 == NULL) - return STRINGPREP_ICONV_ERROR; + if (ucs4 == NULL) { + return STRINGPREP_ICONV_ERROR; + } + assert(ucs4len != SIZE_MAX); maxucs4len = ucs4len + adducs4len; newp = realloc (ucs4, maxucs4len * sizeof (uint32_t)); if (!newp) diff --git a/3rdParty/LibIDN/stubs/win32/stdbool.h b/3rdParty/LibIDN/stubs/win32/stdbool/stdbool.h index c789c92..c789c92 100644 --- a/3rdParty/LibIDN/stubs/win32/stdbool.h +++ b/3rdParty/LibIDN/stubs/win32/stdbool/stdbool.h |