Message107499
| Author |
vstinner |
| Recipients |
theller, vstinner |
| Date |
2010年06月10日.23:03:23 |
| SpamBayes Score |
0.0005578814 |
| Marked as misclassified |
No |
| Message-id |
<1276211007.74.0.406425558952.issue8966@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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). |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2010年06月10日 23:03:27 | vstinner | set | recipients:
+ vstinner, theller |
| 2010年06月10日 23:03:27 | vstinner | set | messageid: <1276211007.74.0.406425558952.issue8966@psf.upfronthosting.co.za> |
| 2010年06月10日 23:03:25 | vstinner | link | issue8966 messages |
| 2010年06月10日 23:03:25 | vstinner | create |
|