Author: Armin Rigo <ar...@tunes.org> Branch: cffi-1.0 Changeset: r77001:1a6ff2029062 Date: 2015-05-03 11:19 +0200 http://bitbucket.org/pypy/pypy/changeset/1a6ff2029062/
Log: ffi.cast() diff --git a/pypy/module/_cffi_backend/ffi_obj.py b/pypy/module/_cffi_backend/ffi_obj.py --- a/pypy/module/_cffi_backend/ffi_obj.py +++ b/pypy/module/_cffi_backend/ffi_obj.py @@ -154,6 +154,16 @@ _cffi_backend.callback(ctype, python_callable, error))""") + def descr_cast(self, w_arg, w_ob): + """\ +Similar to a C cast: returns an instance of the named C +type initialized with the given 'source'. The source is +casted between integers or pointers of any type.""" + # + w_ctype = self.ffi_type(w_arg, ACCEPT_STRING | ACCEPT_CTYPE) + return w_ctype.cast(w_ob) + + @unwrap_spec(w_arg=W_CData) def descr_from_handle(self, w_arg): """\ @@ -295,6 +305,7 @@ addressof = interp2app(W_FFIObject.descr_addressof), alignof = interp2app(W_FFIObject.descr_alignof), callback = interp2app(W_FFIObject.descr_callback), + cast = interp2app(W_FFIObject.descr_cast), from_handle = interp2app(W_FFIObject.descr_from_handle), getctype = interp2app(W_FFIObject.descr_getctype), new = interp2app(W_FFIObject.descr_new), _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit