summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/LibIDN')
-rw-r--r--3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff36
-rw-r--r--3rdParty/LibIDN/SConscript4
-rwxr-xr-x[-rw-r--r--]3rdParty/LibIDN/src/stringprep.c9
-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