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

Reply via email to