fix idn support properly
authorPierre Habouzit <madcoder@debian.org>
Mon, 9 Apr 2007 23:56:27 +0000 (01:56 +0200)
committerPierre Habouzit <madcoder@debian.org>
Mon, 9 Apr 2007 23:56:27 +0000 (01:56 +0200)
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
configure.ac
lib-sys/mutt_socket.c
mutt_idna.c
mutt_idna.h

index 476b0d2..e0c347c 100644 (file)
@@ -412,6 +412,7 @@ AC_ARG_WITH(idn, AC_HELP_STRING([--with-idn], [Use GNU libidn for domain names])
             fi
             CPPFLAGS="$CPPFLAGS $IDN_CFLAGS"
             LDFLAGS="$LDFLAGS $IDN_LIBS"
+            AC_DEFINE(HAVE_LIBIDN, 1, [IDN Support])
         ],[AC_MSG_ERROR([could not find libidn])])
     fi
 ])
@@ -737,7 +738,6 @@ AC_OUTPUT(Makefile
           m4/Makefile
           po/Makefile.in
           apidoc/Makefile apidoc/doxygen.cfg
-          doc/Makefile doc/instdoc.sh
           lib-lib/Makefile
           lib-lua/Makefile
           lib-mime/Makefile
index fa054ae..72473bc 100644 (file)
@@ -26,6 +26,9 @@
 #include "mutt_signal.h"
 #include "mutt_ssl.h"
 
+#ifdef HAVE_LIBIDN
+#include <idna.h>
+#endif
 #include "mutt_idna.h"
 
 /* support for multiple socket connections */
index 686e849..84e470d 100644 (file)
 
 /* The low-level interface we use. */
 
-#ifndef HAVE_LIBIDN
-
-int mutt_idna_to_local (const char *in, char **out, int flags __attribute__ ((unused)))
-{
-  *out = m_strdup(in);
-  return 1;
-}
-
-int mutt_local_to_idna (const char *in, char **out)
-{
-  *out = m_strdup(in);
-  return 0;
-}
-
-#else
-
-int mutt_idna_to_local (const char *in, char **out, int flags)
+static int mutt_idna_to_local (const char *in, char **out, int flags)
 {
+#ifdef HAVE_LIBIDN
   *out = NULL;
 
   if (!option (OPTUSEIDN))
@@ -80,12 +65,14 @@ int mutt_idna_to_local (const char *in, char **out, int flags)
 
 notrans:
   p_delete(out);
+#endif
   *out = m_strdup(in);
   return 1;
 }
 
-int mutt_local_to_idna (const char *in, char **out)
+static int mutt_local_to_idna (const char *in, char **out)
 {
+#ifdef HAVE_LIBIDN
   int rv = 0;
   char *tmp = m_strdup(in);
 
@@ -107,10 +94,11 @@ int mutt_local_to_idna (const char *in, char **out)
     *out = m_strdup(in);
   }
   return rv;
-}
-
+#else
+  *out = m_strdup(in);
+  return 0;
 #endif
-
+}
 
 /* higher level functions */
 
index 777130f..15dec33 100644 (file)
@@ -14,9 +14,6 @@
 
 #define MI_MAY_BE_IRREVERSIBLE         (1 << 0)
 
-int mutt_idna_to_local (const char *, char **, int);
-int mutt_local_to_idna (const char *, char **);
-
 int mutt_addrlist_to_idna (address_t *, char **);
 int mutt_addrlist_to_local (address_t *);