Simon Josefsson <[email protected]> wrote:
> "Rainer M. Canavan" <[email protected]> writes:
>
> >
[...]
> Hi. Thanks for the report. It is a known issue that you need to build
> applications that use libidn with the same compiler that compiled libidn
> itself. Thus, could you compile libidn using the C++ compiler instead?
> E.g., ./configure CC=cxx or something. This might not work for other
> reasons, but at least you could try it.
That appears to work, and I can compile curl with libidn support
afterwards. However, the C++ compiler demands more precise type
casting for some mallocs and initializers, I've included the necessary
changes in the patch below.
[...]
> I wonder when this problem was introduced, I recall building libidn on
> IRIX in older times. Not much has changed since then, so maybe there is
> some other workaround that I used but have forgotten.
I haven't seen any workarounds mentioned in the releasenotes for the
nekoware package of 1.24, but I haven't tried building that either.
rainer
diff -ur ./examples/example2.c ../../../libidn-1.26/examples/example2.c
--- ./examples/example2.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/examples/example2.c 2013-01-11 21:22:53.825434349
+0100
@@ -149,7 +149,7 @@
/* Encode: */
output_length = ace_max_length;
- status = punycode_encode (input_length, input, case_flags,
+ status = (punycode_status)punycode_encode (input_length, input,
case_flags,
&output_length, output);
if (status == punycode_bad_input)
fail (invalid_input);
@@ -206,7 +206,7 @@
/* Decode: */
output_length = unicode_max_length;
- status = punycode_decode (input_length, input, &output_length,
+ status = (punycode_status)punycode_decode (input_length, input,
&output_length,
output, case_flags);
if (status == punycode_bad_input)
fail (invalid_input);
diff -ur ./examples/example3.c ../../../libidn-1.26/examples/example3.c
--- ./examples/example3.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/examples/example3.c 2013-01-11 21:23:09.248168409
+0100
@@ -62,7 +62,7 @@
rc = idna_to_ascii_lz (buf, &p, 0);
if (rc != IDNA_SUCCESS)
{
- printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
+ printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror ((Idna_rc)rc));
return EXIT_FAILURE;
}
diff -ur ./examples/example4.c ../../../libidn-1.26/examples/example4.c
--- ./examples/example4.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/examples/example4.c 2013-01-11 21:23:26.432395971
+0100
@@ -62,7 +62,7 @@
rc = idna_to_unicode_lzlz (buf, &p, 0);
if (rc != IDNA_SUCCESS)
{
- printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
+ printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror
((Idna_rc)rc));
return EXIT_FAILURE;
}
diff -ur ./examples/example5.c ../../../libidn-1.26/examples/example5.c
--- ./examples/example5.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/examples/example5.c 2013-01-11 21:24:14.443143433
+0100
@@ -83,7 +83,7 @@
rc = idna_to_ascii_8z (buf, &p, 0);
if (rc != IDNA_SUCCESS)
{
- printf ("idna_to_ascii_8z failed (%d): %s\n", rc, idna_strerror (rc));
+ printf ("idna_to_ascii_8z failed (%d): %s\n", rc, idna_strerror
((Idna_rc)rc));
return 2;
}
@@ -94,7 +94,7 @@
if (rc != IDNA_SUCCESS)
{
printf ("idna_to_unicode_8z4z failed (%d): %s\n",
- rc, idna_strerror (rc));
+ rc, idna_strerror ((Idna_rc)rc));
return 2;
}
@@ -112,7 +112,7 @@
}
else if (rc != TLD_SUCCESS)
{
- printf ("tld_check_4z() failed (%d): %s\n", rc, tld_strerror (rc));
+ printf ("tld_check_4z() failed (%d): %s\n", rc, tld_strerror
((Tld_rc)rc));
return 2;
}
diff -ur ./examples/example.c ../../../libidn-1.26/examples/example.c
--- ./examples/example.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/examples/example.c 2013-01-11 21:21:39.192758805
+0100
@@ -72,9 +72,9 @@
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
- rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
+ rc = stringprep (buf, BUFSIZ, (Stringprep_profile_flags)0,
stringprep_nameprep);
if (rc != STRINGPREP_OK)
- printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
+ printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror
((Stringprep_rc)rc));
else
{
printf ("After stringprep (length %ld): ", strlen (buf));
diff -ur ./gl/getopt.c ../../../libidn-1.26/gl/getopt.c
--- ./gl/getopt.c 2012-04-27 10:18:42.000000000 +0200
+++ ../../../libidn-1.26/gl/getopt.c 2013-01-11 20:43:21.885231006 +0100
@@ -520,7 +520,7 @@
|| pfound->val != p->val)
{
/* Second or later nonexact match found. */
- struct option_list *newp = malloc (sizeof (*newp));
+ struct option_list *newp = (struct option_list*)malloc (sizeof
(*newp));
newp->p = p;
newp->next = ambig_list;
ambig_list = newp;
diff -ur ./gl/strerror.c ../../../libidn-1.26/gl/strerror.c
--- ./gl/strerror.c 2012-04-27 10:18:42.000000000 +0200
+++ ../../../libidn-1.26/gl/strerror.c 2013-01-11 20:43:58.233224595 +0100
@@ -66,5 +66,5 @@
if (sizeof buf <= len)
abort ();
- return memcpy (buf, msg, len + 1);
+ return (char *)memcpy (buf, msg, len + 1);
}
diff -ur ./lib/idna.c ../../../libidn-1.26/lib/idna.c
--- ./lib/idna.c 2012-08-02 22:16:09.000000000 +0200
+++ ../../../libidn-1.26/lib/idna.c 2013-01-11 21:04:47.472999475 +0100
@@ -101,7 +101,7 @@
inasciirange = 0;
if (inasciirange)
{
- src = malloc (sizeof (in[0]) * (inlen + 1));
+ src = (uint32_t*)malloc (sizeof (in[0]) * (inlen + 1));
if (src == NULL)
return IDNA_MALLOC_ERROR;
@@ -130,7 +130,7 @@
char *newp;
len = 2 * len + 10; /* XXX better guess? */
- newp = realloc (p, len);
+ newp = (char*)realloc (p, len);
if (newp == NULL)
{
free (p);
@@ -309,7 +309,7 @@
*/
do
{
- char *newp = realloc (utf8in, utf8len + addlen);
+ char *newp = (char*)realloc (utf8in, utf8len + addlen);
if (newp == NULL)
{
free (utf8in);
@@ -317,7 +317,7 @@
}
utf8in = newp;
if (flags & IDNA_ALLOW_UNASSIGNED)
- rc = stringprep_nameprep (utf8in, utf8len + addlen);
+ rc = (int)stringprep_nameprep (utf8in, utf8len + addlen);
else
rc = stringprep_nameprep_no_unassigned (utf8in, utf8len + addlen);
addlen += 1;
@@ -484,7 +484,7 @@
if (input[0] == 0)
{
/* Handle implicit zero-length root label. */
- *output = malloc (1);
+ *output = (char*)malloc (1);
if (!*output)
return IDNA_MALLOC_ERROR;
strcpy (*output, "");
@@ -494,7 +494,7 @@
if (DOTP (input[0]) && input[1] == 0)
{
/* Handle explicit zero-length root label. */
- *output = malloc (2);
+ *output = (char*)malloc (2);
if (!*output)
return IDNA_MALLOC_ERROR;
strcpy (*output, ".");
@@ -527,7 +527,7 @@
if (out)
{
size_t l = strlen (out) + 1 + strlen (buf) + 1;
- char *newp = realloc (out, l);
+ char *newp = (char*)realloc (out, l);
if (!newp)
{
free (out);
@@ -652,7 +652,7 @@
;
buflen = (size_t) (end - start);
- buf = malloc (sizeof (buf[0]) * (buflen + 1));
+ buf = (uint32_t*)malloc (sizeof (buf[0]) * (buflen + 1));
if (!buf)
return IDNA_MALLOC_ERROR;
@@ -662,7 +662,7 @@
if (out)
{
- uint32_t *newp = realloc (out,
+ uint32_t *newp = (uint32_t*)realloc (out,
sizeof (out[0])
* (outlen + 1 + buflen + 1));
if (!newp)
diff -ur ./lib/nfkc.c ../../../libidn-1.26/lib/nfkc.c
--- ./lib/nfkc.c 2012-09-18 10:22:27.000000000 +0200
+++ ../../../libidn-1.26/lib/nfkc.c 2013-01-11 20:45:09.530856943 +0100
@@ -411,7 +411,7 @@
}
}
- result = g_malloc (sizeof (gunichar) * (n_chars + 1));
+ result = (gunichar*)g_malloc (sizeof (gunichar) * (n_chars + 1));
if (!result)
return NULL;
@@ -504,7 +504,7 @@
result_length += UTF8_LENGTH (str[i]);
}
- result = g_malloc (result_length + 1);
+ result = (gchar*)g_malloc (result_length + 1);
if (!result)
return NULL;
p = result;
@@ -819,7 +819,7 @@
p = g_utf8_next_char (p);
}
- wc_buffer = g_malloc (sizeof (gunichar) * (n_wc + 1));
+ wc_buffer = (gunichar *)g_malloc (sizeof (gunichar) * (n_wc + 1));
if (!wc_buffer)
return NULL;
diff -ur ./lib/profiles.c ../../../libidn-1.26/lib/profiles.c
--- ./lib/profiles.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/lib/profiles.c 2013-01-11 21:00:36.204680763 +0100
@@ -44,51 +44,51 @@
};
const Stringprep_profile stringprep_nameprep[] = {
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
- {STRINGPREP_NFKC, 0, 0},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI,
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_1},
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_2},
+ {STRINGPREP_NFKC, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_7},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
- {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_D_2},
+ {STRINGPREP_UNASSIGNED_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_UNASSIGNED,
stringprep_rfc3454_A_1},
- {0}
+ {(Stringprep_profile_steps)0}
};
const Stringprep_profile stringprep_kerberos5[] = {
/* XXX this is likely to be wrong as the specification is
a rough draft. */
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_3},
- {STRINGPREP_NFKC, 0, 0},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI,
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_1},
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_3},
+ {STRINGPREP_NFKC, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_7},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
- {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_D_2},
+ {STRINGPREP_UNASSIGNED_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_UNASSIGNED,
stringprep_rfc3454_A_1},
- {0}
+ {(Stringprep_profile_steps)0}
};
const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[] = {
@@ -104,82 +104,82 @@
};
const Stringprep_profile stringprep_xmpp_nodeprep[] = {
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
- {STRINGPREP_NFKC, 0, 0},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_xmpp_nodeprep_prohibit},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
- {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_1},
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_2},
+ {STRINGPREP_NFKC, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_7},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_xmpp_nodeprep_prohibit},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_D_2},
+ {STRINGPREP_UNASSIGNED_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_UNASSIGNED,
stringprep_rfc3454_A_1},
- {0}
+ {(Stringprep_profile_steps)0}
};
const Stringprep_profile stringprep_xmpp_resourceprep[] = {
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
- {STRINGPREP_NFKC, 0, 0},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
- {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_1},
+ {STRINGPREP_NFKC, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_7},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_2},
+ {STRINGPREP_UNASSIGNED_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_UNASSIGNED,
stringprep_rfc3454_A_1},
- {0}
+ {(Stringprep_profile_steps)0}
};
const Stringprep_profile stringprep_plain[] = {
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
- {0}
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_2},
+ {(Stringprep_profile_steps)0}
};
const Stringprep_profile stringprep_trace[] = {
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
- {0}
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_2},
+ {(Stringprep_profile_steps)0}
};
const Stringprep_table_element stringprep_iscsi_prohibit[] = {
@@ -253,28 +253,28 @@
};
const Stringprep_profile stringprep_iscsi[] = {
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
- {STRINGPREP_NFKC, 0, 0},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_iscsi_prohibit},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
- {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_1},
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_2},
+ {STRINGPREP_NFKC, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_7},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_iscsi_prohibit},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_2},
+ {STRINGPREP_UNASSIGNED_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_UNASSIGNED,
stringprep_rfc3454_A_1},
- {0}
+ {(Stringprep_profile_steps)0}
};
const Stringprep_table_element stringprep_saslprep_space_map[] = {
@@ -299,24 +299,24 @@
};
const Stringprep_profile stringprep_saslprep[] = {
- {STRINGPREP_MAP_TABLE, 0, stringprep_saslprep_space_map},
- {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
- {STRINGPREP_NFKC, 0, 0},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
- {STRINGPREP_BIDI, 0, 0},
- {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
- {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
- {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
- {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0,
stringprep_saslprep_space_map},
+ {STRINGPREP_MAP_TABLE, (Stringprep_profile_flags)0, stringprep_rfc3454_B_1},
+ {STRINGPREP_NFKC, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_1_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_1},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_2_2},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_3},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_4},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_5},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_6},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_7},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_9},
+ {STRINGPREP_BIDI, (Stringprep_profile_flags)0, 0},
+ {STRINGPREP_BIDI_PROHIBIT_TABLE, (Stringprep_profile_flags)0,
stringprep_rfc3454_C_8},
+ {STRINGPREP_BIDI_RAL_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_1},
+ {STRINGPREP_BIDI_L_TABLE, (Stringprep_profile_flags)~STRINGPREP_NO_BIDI,
stringprep_rfc3454_D_2},
+ {STRINGPREP_UNASSIGNED_TABLE,
(Stringprep_profile_flags)~STRINGPREP_NO_UNASSIGNED,
stringprep_rfc3454_A_1},
- {0}
+ {(Stringprep_profile_steps)0}
};
diff -ur ./lib/stringprep.c ../../../libidn-1.26/lib/stringprep.c
--- ./lib/stringprep.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/lib/stringprep.c 2013-01-11 20:53:42.952746290
+0100
@@ -33,6 +33,7 @@
#include <stdlib.h>
#include <string.h>
+#include "gl/stdint.h"
#include "stringprep.h"
@@ -381,7 +382,7 @@
free (ucs4);
ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
maxucs4len = ucs4len + adducs4len;
- newp = realloc (ucs4, maxucs4len * sizeof (uint32_t));
+ newp = (uint32_t*)realloc (ucs4, maxucs4len * sizeof (uint32_t));
if (!newp)
{
free (ucs4);
diff -ur ./lib/stringprep.h ../../../libidn-1.26/lib/stringprep.h
--- ./lib/stringprep.h 2012-05-23 10:53:29.000000000 +0200
+++ ../../../libidn-1.26/lib/stringprep.h 2013-01-11 21:06:36.838502429
+0100
@@ -145,7 +145,7 @@
extern IDNAPI const Stringprep_profile stringprep_nameprep[];
# define stringprep_nameprep(in, maxlen) \
- stringprep(in, maxlen, 0, stringprep_nameprep)
+ stringprep(in, maxlen, (Stringprep_profile_flags)0, stringprep_nameprep)
# define stringprep_nameprep_no_unassigned(in, maxlen) \
stringprep(in, maxlen, STRINGPREP_NO_UNASSIGNED, stringprep_nameprep)
diff -ur ./lib/tld.c ../../../libidn-1.26/lib/tld.c
--- ./lib/tld.c 2012-12-09 05:30:53.000000000 +0100
+++ ../../../libidn-1.26/lib/tld.c 2013-01-11 21:07:18.658718732 +0100
@@ -138,7 +138,7 @@
if (olen > 0 && ipos >= in && DOTP (*ipos))
{
/* Found something that appears a TLD. */
- char *out_s = malloc (sizeof (char) * (olen + 1));
+ char *out_s = (char*)malloc (sizeof (char) * (olen + 1));
char *opos = out_s;
if (!opos)
@@ -201,7 +201,7 @@
int rc;
ilen = strlen (in);
- iucs = calloc (ilen, sizeof (*iucs));
+ iucs = (uint32_t*)calloc (ilen, sizeof (*iucs));
if (!iucs)
return TLD_MALLOC_ERROR;
diff -ur ./src/idn.c ../../../libidn-1.26/src/idn.c
--- ./src/idn.c 2012-04-27 12:48:08.000000000 +0200
+++ ../../../libidn-1.26/src/idn.c 2013-01-11 21:11:30.624771241 +0100
@@ -231,11 +231,11 @@
rc = stringprep_profile (p, &r,
args_info.profile_given ?
- args_info.profile_arg : "Nameprep", 0);
+ args_info.profile_arg : "Nameprep",
(Stringprep_profile_flags)0);
free (p);
if (rc != STRINGPREP_OK)
error (EXIT_FAILURE, 0, _("stringprep_profile: %s"),
- stringprep_strerror (rc));
+ stringprep_strerror ((Stringprep_rc)rc));
q = stringprep_utf8_to_ucs4 (r, -1, NULL);
if (!q)
@@ -293,7 +293,7 @@
free (q);
if (rc != PUNYCODE_SUCCESS)
error (EXIT_FAILURE, 0, _("punycode_encode: %s"),
- punycode_strerror (rc));
+ punycode_strerror ((Punycode_status)rc));
readbuf[len2] = '\0';
@@ -321,7 +321,7 @@
{
free (q);
error (EXIT_FAILURE, 0, _("punycode_decode: %s"),
- punycode_strerror (rc));
+ punycode_strerror ((Punycode_status)rc));
}
if (args_info.debug_given)
@@ -379,7 +379,7 @@
free (q);
if (rc != IDNA_SUCCESS)
error (EXIT_FAILURE, 0, _("idna_to_ascii_4z: %s"),
- idna_strerror (rc));
+ idna_strerror ((Idna_rc)rc));
#ifdef WITH_TLD
if (args_info.tld_flag && !args_info.no_tld_flag)
@@ -393,7 +393,7 @@
IDNA_USE_STD3_ASCII_RULES : 0));
if (rc != IDNA_SUCCESS)
error (EXIT_FAILURE, 0, _("idna_to_unicode_8z4z (TLD): %s"),
- idna_strerror (rc));
+ idna_strerror ((Idna_rc)rc));
if (args_info.debug_given)
{
@@ -407,10 +407,10 @@
free (q);
if (rc == TLD_INVALID)
error (EXIT_FAILURE, 0, _("tld_check_4z (position %lu): %s"),
- (unsigned long) errpos, tld_strerror (rc));
+ (unsigned long) errpos, tld_strerror ((Tld_rc)rc));
if (rc != TLD_SUCCESS)
error (EXIT_FAILURE, 0, _("tld_check_4z: %s"),
- tld_strerror (rc));
+ tld_strerror ((Tld_rc)rc));
}
#endif
@@ -459,7 +459,7 @@
free (p);
if (rc != IDNA_SUCCESS)
error (EXIT_FAILURE, 0, _("idna_to_unicode_8z4z: %s"),
- idna_strerror (rc));
+ idna_strerror ((Idna_rc)rc));
if (args_info.debug_given)
{
@@ -480,13 +480,13 @@
free (q);
error (EXIT_FAILURE, 0,
_("tld_check_4z (position %lu): %s"),
- (unsigned long) errpos, tld_strerror (rc));
+ (unsigned long) errpos, tld_strerror ((Tld_rc)rc));
}
if (rc != TLD_SUCCESS)
{
free (q);
error (EXIT_FAILURE, 0, _("tld_check_4z: %s"),
- tld_strerror (rc));
+ tld_strerror ((Tld_rc)rc));
}
}
#endif
_______________________________________________
Help-libidn mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-libidn