AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror)
-AC_REPLACE_FUNCS([setenv strcasecmp strdup strsep strtok_r])
+AC_REPLACE_FUNCS([setenv strcasecmp strdup strsep strtok_r wcscasecmp])
AC_CHECK_FUNC(getopt)
if test $ac_cv_func_getopt = yes; then
char *strtok_r (char *, const char *, char **);
#endif
+#ifndef HAVE_WCSCASECMP
+int wcscasecmp (const wchar_t *a, const wchar_t *b);
+#endif
--- /dev/null
+/*
+ * Copyright (C) 2009 Rocco Rutte <pdmef@gmx.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "mutt.h"
+#include "mbyte.h"
+
+int wcscasecmp (const wchar_t *a, const wchar_t *b)
+{
+ const wchar_t *p = a;
+ const wchar_t *q = b;
+ int i;
+
+ if (!a && !b)
+ return 0;
+ if (!a && b)
+ return -1;
+ if (a && !b)
+ return 1;
+
+ for ( ; *p || *q; p++, q++)
+ {
+ if ((i = towlower (*p)) - towlower (*q))
+ return i;
+ }
+ return 0;
+}