From e032461eede2a80f184f1c08e22a76eaf18a480e Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 9 Jul 2013 17:30:55 +0200 Subject: 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) --- src/if_python3.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/if_python3.c') diff --git a/src/if_python3.c b/src/if_python3.c index 8a7a3a4b1..8a5b3329e 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) -- cgit v1.2.1