updated for version 7.4a.008
Problem: Python 3 doesn't handle multibyte characters prooperly when
'encoding' is not utf-8.
Solution: Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken
Takata)
diff --git a/src/if_python3.c b/src/if_python3.c
index 8a7a3a4..8a5b332 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -86,7 +86,8 @@
#ifndef PyString_Check
# define PyString_Check(obj) PyUnicode_Check(obj)
#endif
-#define PyString_FromString(repr) PyUnicode_FromString(repr)
+#define PyString_FromString(repr) \
+ PyUnicode_Decode(repr, STRLEN(repr), ENC_OPT, NULL)
#define PyString_FromFormat PyUnicode_FromFormat
#ifndef PyInt_Check
# define PyInt_Check(obj) PyLong_Check(obj)