New submission from STINNER Victor <victor.stin...@haypocalc.com>: ctypes doesn't have strict separation between bytes and characters, whereas Python3 splitted str/unicode of Python2 into bytes/str which a strict separation. The result is that sometimes it works (no error), sometimes it fails (the first time that the user inserts a non-ASCII character).
I wrote 3 patches: - ctypes_s_set.patch: fix s_set(), return an unicode string instead of a bytes string - ctypes_conversion.patch: remove ctypes.set_conversion_mode() and all code using it (remove the implicit conversions) - ctypes_tests.patch: fix all tests according the changes introduced by the two previous patches ctypes_s_set.patch is trivial and fixes a real bug. ctypes_conversion.patch does basically remove code. ctypes_tests.patch is the biggest part because the test suite is mostly based on the implicit conversion. Except the parts removing the calls to ctypes.set_conversion_mode() and the tests testing the implicit conversion, ctypes_tests.patch can be commited alone because it improves the test suite (use the right types). ---------- assignee: theller components: Unicode, ctypes files: ctypes_conversion.patch keywords: patch messages: 107499 nosy: haypo, theller priority: normal severity: normal status: open title: ctypes: remove implicit conversion between unicode and bytes versions: Python 3.2 Added file: http://bugs.python.org/file17610/ctypes_conversion.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8966> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com