Add a wrapper for libiconv.
[ghc-base.git] / cbits / iconv.c
diff --git a/cbits/iconv.c b/cbits/iconv.c
new file mode 100644 (file)
index 0000000..c7e6ea1
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef __MINGW32__
+
+#include <stdlib.h>
+#include <iconv.h>
+
+iconv_t hs_iconv_open(const char* tocode,
+                     const char* fromcode)
+{
+       return iconv_open(tocode, fromcode);
+}
+
+size_t hs_iconv(iconv_t cd,
+               const char* * inbuf, size_t * inbytesleft,
+               char* * outbuf, size_t * outbytesleft)
+{
+       return iconv(cd, inbuf, inbytesleft, outbuf, outbytesleft);
+}
+
+int hs_iconv_close(iconv_t cd) {
+       return iconv_close(cd);
+}
+
+#endif