summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Heller <theller@ctypes.org>2007-07-12 19:33:24 +0000
committerThomas Heller <theller@ctypes.org>2007-07-12 19:33:24 +0000
commit3d79dd9edf3cfdffd1dc7d4e45b77da2478e1111 (patch)
tree3aa3b3524b83c1467ba9000fbc1b5bb6d158d14e
parent7a76e8f67c0866d04c7370df580bcd7b0cb42297 (diff)
downloadcpython-git-3d79dd9edf3cfdffd1dc7d4e45b77da2478e1111.tar.gz
c_char_p.from_param accepts bytes. Fix test_parameters.
-rw-r--r--Lib/ctypes/test/test_parameters.py6
-rw-r--r--Modules/_ctypes/_ctypes.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/Lib/ctypes/test/test_parameters.py b/Lib/ctypes/test/test_parameters.py
index 84d8eaf025..4c80bdfb73 100644
--- a/Lib/ctypes/test/test_parameters.py
+++ b/Lib/ctypes/test/test_parameters.py
@@ -54,11 +54,11 @@ class SimpleTypesTestCase(unittest.TestCase):
# c_char_p.from_param on a Python String packs the string
# into a cparam object
- s = "123"
+ s = b"123"
self.failUnless(c_char_p.from_param(s)._obj is s)
# new in 0.9.1: convert (encode) unicode to ascii
- self.failUnlessEqual(c_char_p.from_param("123")._obj, "123")
+ self.failUnlessEqual(c_char_p.from_param("123")._obj, b"123")
self.assertRaises(UnicodeEncodeError, c_char_p.from_param, "123\377")
self.assertRaises(TypeError, c_char_p.from_param, 42)
@@ -82,7 +82,7 @@ class SimpleTypesTestCase(unittest.TestCase):
# new in 0.9.1: convert (decode) ascii to unicode
self.failUnlessEqual(c_wchar_p.from_param("123")._obj, "123")
- self.assertRaises(UnicodeDecodeError, c_wchar_p.from_param, "123\377")
+ self.assertRaises(UnicodeDecodeError, c_wchar_p.from_param, b"123\377")
pa = c_wchar_p.from_param(c_wchar_p("123"))
self.failUnlessEqual(type(pa), c_wchar_p)
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index bab1e35134..d6a435d614 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1183,7 +1183,7 @@ c_char_p_from_param(PyObject *type, PyObject *value)
Py_INCREF(Py_None);
return Py_None;
}
- if (PyString_Check(value) || PyUnicode_Check(value)) {
+ if (PyBytes_Check(value) || PyUnicode_Check(value)) {
PyCArgObject *parg;
struct fielddesc *fd = getentry("z");