From: Thomas Heller Date: Fri, 24 Apr 2009 20:00:41 +0000 (+0000) Subject: Issue 5041: ctypes unwilling to allow pickling wide character. X-Git-Tag: v2.7a1~1421 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ec21ccde12da6a5cc7143b533e0c707ebe5c1a3a;p=python Issue 5041: ctypes unwilling to allow pickling wide character. --- diff --git a/Lib/ctypes/test/test_pickling.py b/Lib/ctypes/test/test_pickling.py index c7925c7ac7..28868f43d2 100644 --- a/Lib/ctypes/test/test_pickling.py +++ b/Lib/ctypes/test/test_pickling.py @@ -66,6 +66,11 @@ class PickleTest(unittest.TestCase): ]: self.assertRaises(ValueError, lambda: self.dumps(item)) + def test_wchar(self): + pickle.dumps(c_char("x")) + # Issue 5049 + pickle.dumps(c_wchar(u"x")) + class PickleTest_1(PickleTest): def dumps(self, item): return pickle.dumps(item, 1) diff --git a/Misc/NEWS b/Misc/NEWS index f5ef3b66ca..a8fb9ceaaa 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -244,6 +244,8 @@ Core and Builtins Library ------- +- Issue #5041: ctypes does now allow pickling wide character. + - Issue #5812: For the two-argument form of the Fraction constructor, Fraction(m, n), m and n are permitted to be arbitrary Rational instances. diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 43da2095cd..7caef2902d 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -1952,7 +1952,7 @@ SimpleType_new(PyTypeObject *type, PyObject *args, PyObject *kwds) ml = &c_void_p_method; stgdict->flags |= TYPEFLAG_ISPOINTER; break; - case 'u': + case 's': case 'X': case 'O': ml = NULL;