+/*
+ * unicode.c: unicode conversion
+ *
+ * Author:
+ * Dick Porter (dick@ximian.com)
+ *
+ * (C) 2002 Ximian, Inc.
+ */
+
#include <config.h>
#include <glib.h>
#include <pthread.h>
+#if HAVE_ICONV_H
#include <iconv.h>
+#elif HAVE_GICONV_H
+#include <giconv.h>
+#endif
#include <errno.h>
#include "mono/io-layer/wapi.h"
#include "unicode.h"
/* This is a nasty kludge */
-static guint32 unicode_len(const guchar *str)
+static guint32
+unicode_len (const gunichar2 *str)
{
- guint32 len=0;
+ guint32 len = 0;
do {
- if(str[len]=='\0' && str[len+1]=='\0') {
- return(len);
- }
+ if (str [len] == '\0')
+ return len * 2;
- len+=2;
- } while(1);
+ len++;
+ } while (1);
}
-guchar *_wapi_unicode_to_utf8(const guchar *uni)
+gchar *_wapi_unicode_to_utf8(const gunichar2 *uni)
{
GError *error = NULL;
gchar *res;