[Python-3000-checkins] r56330 - in python/branches/py3k-struni: Lib/ctypes/test/test_parameters.py Modules/_ctypes/_ctypes.c

thomas.heller python-3000-checkins at python.org
Thu Jul 12 21:33:25 CEST 2007


Author: thomas.heller
Date: Thu Jul 12 21:33:24 2007
New Revision: 56330

Modified:
   python/branches/py3k-struni/Lib/ctypes/test/test_parameters.py
   python/branches/py3k-struni/Modules/_ctypes/_ctypes.c
Log:
c_char_p.from_param accepts bytes.  Fix test_parameters.

Modified: python/branches/py3k-struni/Lib/ctypes/test/test_parameters.py
==============================================================================
--- python/branches/py3k-struni/Lib/ctypes/test/test_parameters.py	(original)
+++ python/branches/py3k-struni/Lib/ctypes/test/test_parameters.py	Thu Jul 12 21:33:24 2007
@@ -54,11 +54,11 @@
 
         # 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 @@
 
             # 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)

Modified: python/branches/py3k-struni/Modules/_ctypes/_ctypes.c
==============================================================================
--- python/branches/py3k-struni/Modules/_ctypes/_ctypes.c	(original)
+++ python/branches/py3k-struni/Modules/_ctypes/_ctypes.c	Thu Jul 12 21:33:24 2007
@@ -1183,7 +1183,7 @@
 		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");
 


More information about the Python-3000-checkins mailing list