]> granicus.if.org Git - python/commitdiff
c_char_p.from_param accepts bytes. Fix test_parameters.
authorThomas Heller <theller@ctypes.org>
Thu, 12 Jul 2007 19:33:24 +0000 (19:33 +0000)
committerThomas Heller <theller@ctypes.org>
Thu, 12 Jul 2007 19:33:24 +0000 (19:33 +0000)
Lib/ctypes/test/test_parameters.py
Modules/_ctypes/_ctypes.c

index 84d8eaf025e6dffddb0dcb871facfee16f45a7d8..4c80bdfb73ec60938d9f379e96929b5d61672e04 100644 (file)
@@ -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)
index bab1e351346eecd4c4a33b8f80f8a2d161274be6..d6a435d614ee4613489b7c1e6797fef18e16b1d6 100644 (file)
@@ -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");