Author: Wim Lavrijsen <[email protected]>
Branch: reflex-support
Changeset: r66694:512630bafd0a
Date: 2013-08-29 16:25 -0700
http://bitbucket.org/pypy/pypy/changeset/512630bafd0a/
Log: bit of code cleanup
diff --git a/pypy/module/cppyy/converter.py b/pypy/module/cppyy/converter.py
--- a/pypy/module/cppyy/converter.py
+++ b/pypy/module/cppyy/converter.py
@@ -501,7 +501,6 @@
class StdStringConverter(InstanceConverter):
- _immutable_fields_ = ['cppclass']
def __init__(self, space, extra):
from pypy.module.cppyy import interp_cppyy
@@ -509,21 +508,19 @@
InstanceConverter.__init__(self, space, cppclass)
def _unwrap_object(self, space, w_obj):
- try:
+ from pypy.module.cppyy.interp_cppyy import W_CPPInstance
+ if isinstance(w_obj, W_CPPInstance):
+ arg = InstanceConverter._unwrap_object(self, space, w_obj)
+ return capi.c_stdstring2stdstring(space, arg)
+ else:
return capi.c_charp2stdstring(space, space.str_w(w_obj))
- except Exception, e:
- arg = InstanceConverter._unwrap_object(self, space, w_obj)
- result = capi.c_stdstring2stdstring(space, arg)
- return result
def to_memory(self, space, w_obj, w_value, offset):
try:
address = rffi.cast(capi.C_OBJECT, self._get_raw_address(space,
w_obj, offset))
capi.c_assign2stdstring(space, address, space.str_w(w_value))
- return
except Exception:
- pass
- return InstanceConverter.to_memory(self, space, w_obj, w_value, offset)
+ InstanceConverter.to_memory(self, space, w_obj, w_value, offset)
def free_argument(self, space, arg, call_local):
capi.c_free_stdstring(space, rffi.cast(capi.C_OBJECT,
rffi.cast(rffi.VOIDPP, arg)[0]))
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit