[pypy-commit] pypy py3k: some quick fixes
pjenvey
noreply at buildbot.pypy.org
Wed Feb 13 21:25:18 CET 2013
Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r61187:bd87e595d506
Date: 2013-02-13 12:21 -0800
http://bitbucket.org/pypy/pypy/changeset/bd87e595d506/
Log: some quick fixes
diff --git a/lib_pypy/_ctypes/array.py b/lib_pypy/_ctypes/array.py
--- a/lib_pypy/_ctypes/array.py
+++ b/lib_pypy/_ctypes/array.py
@@ -23,7 +23,7 @@
for i in range(len(val)):
self[i] = val[i]
if len(val) < self._length_:
- self[len(val)] = '\x00'
+ self[len(val)] = b'\x00'
res.value = property(getvalue, setvalue)
def getraw(self):
@@ -89,12 +89,13 @@
# or function argument...
from ctypes import c_char, c_wchar
if issubclass(self._type_, (c_char, c_wchar)):
- if isinstance(value, basestring):
+ # XXX: this should maybe be stricer for py3 (c_char disallowing str?)
+ if isinstance(value, (bytes, str)):
if len(value) > self._length_:
raise ValueError("Invalid length")
value = self(*value)
elif not isinstance(value, self):
- raise TypeError("expected string or Unicode object, %s found"
+ raise TypeError("expected string, %s found"
% (value.__class__.__name__,))
else:
if isinstance(value, tuple):
diff --git a/lib_pypy/_ctypes/basics.py b/lib_pypy/_ctypes/basics.py
--- a/lib_pypy/_ctypes/basics.py
+++ b/lib_pypy/_ctypes/basics.py
@@ -137,7 +137,7 @@
return self.value
def __buffer__(self):
- return buffer(self._buffer)
+ return self._buffer.__buffer__()
def _get_b_base(self):
try:
diff --git a/lib_pypy/_ctypes/function.py b/lib_pypy/_ctypes/function.py
--- a/lib_pypy/_ctypes/function.py
+++ b/lib_pypy/_ctypes/function.py
@@ -307,7 +307,8 @@
except:
exc_info = sys.exc_info()
traceback.print_tb(exc_info[2], file=sys.stderr)
- print >>sys.stderr, "%s: %s" % (exc_info[0].__name__, exc_info[1])
+ print("%s: %s" % (exc_info[0].__name__, exc_info[1]),
+ file=sys.stderr)
return 0
if self._restype_ is not None:
return res
diff --git a/lib_pypy/_ctypes/primitive.py b/lib_pypy/_ctypes/primitive.py
--- a/lib_pypy/_ctypes/primitive.py
+++ b/lib_pypy/_ctypes/primitive.py
@@ -184,7 +184,7 @@
elif tp == 'u':
def _setvalue(self, val):
- if isinstance(val, str):
+ if isinstance(val, bytes):
val = val.decode(ConvMode.encoding, ConvMode.errors)
# possible if we use 'ignore'
if val:
@@ -195,7 +195,7 @@
elif tp == 'c':
def _setvalue(self, val):
- if isinstance(val, unicode):
+ if isinstance(val, str):
val = val.encode(ConvMode.encoding, ConvMode.errors)
if val:
self._buffer[0] = val
More information about the pypy-commit
mailing list