Author: Armin Rigo <ar...@tunes.org> Branch: ffi-backend Changeset: r56481:dd764345d088 Date: 2012-07-26 16:42 +0200 http://bitbucket.org/pypy/pypy/changeset/dd764345d088/
Log: List the places that will need wchar_t support diff --git a/pypy/module/_cffi_backend/cdataobj.py b/pypy/module/_cffi_backend/cdataobj.py --- a/pypy/module/_cffi_backend/cdataobj.py +++ b/pypy/module/_cffi_backend/cdataobj.py @@ -316,6 +316,7 @@ __float__ = interp2app(W_CData.float), __len__ = interp2app(W_CData.len), __str__ = interp2app(W_CData.str), + #XXX WCHAR __unicode__ = __lt__ = interp2app(W_CData.lt), __le__ = interp2app(W_CData.le), __eq__ = interp2app(W_CData.eq), diff --git a/pypy/module/_cffi_backend/ctypearray.py b/pypy/module/_cffi_backend/ctypearray.py --- a/pypy/module/_cffi_backend/ctypearray.py +++ b/pypy/module/_cffi_backend/ctypearray.py @@ -109,6 +109,7 @@ cdata[i] = s[i] if n != self.length: cdata[n] = '\x00' + #XXX WCHAR else: raise self._convert_error("list or tuple", w_ob) diff --git a/pypy/module/_cffi_backend/ctypefunc.py b/pypy/module/_cffi_backend/ctypefunc.py --- a/pypy/module/_cffi_backend/ctypefunc.py +++ b/pypy/module/_cffi_backend/ctypefunc.py @@ -126,6 +126,8 @@ # set the "must free" flag to 0 set_mustfree_flag(data, 0) # + #XXX WCHAR unicode raises NotImplementedError + # argtype.convert_from_object(data, w_obj) resultdata = rffi.ptradd(buffer, cif_descr.exchange_result) diff --git a/pypy/module/_cffi_backend/ctypeprim.py b/pypy/module/_cffi_backend/ctypeprim.py --- a/pypy/module/_cffi_backend/ctypeprim.py +++ b/pypy/module/_cffi_backend/ctypeprim.py @@ -44,6 +44,7 @@ elif space.isinstance_w(w_ob, space.w_str): value = self.cast_str(w_ob) value = r_ulonglong(value) + #XXX WCHAR space.w_unicode else: value = misc.as_unsigned_long_long(space, w_ob, strict=False) w_cdata = cdataobj.W_CDataCasted(space, self.size, self) @@ -59,6 +60,7 @@ class W_CTypePrimitiveChar(W_CTypePrimitive): cast_anything = True + #XXX WCHAR class PrimitiveUniChar def int(self, cdata): return self.space.wrap(ord(cdata[0])) diff --git a/pypy/module/_cffi_backend/newtype.py b/pypy/module/_cffi_backend/newtype.py --- a/pypy/module/_cffi_backend/newtype.py +++ b/pypy/module/_cffi_backend/newtype.py @@ -36,6 +36,7 @@ eptype("unsigned long long", rffi.LONGLONG, ctypeprim.W_CTypePrimitiveUnsigned) eptype("float", rffi.FLOAT, ctypeprim.W_CTypePrimitiveFloat) eptype("double", rffi.DOUBLE, ctypeprim.W_CTypePrimitiveFloat) +#XXX WCHAR @unwrap_spec(name=str) def new_primitive_type(space, name): @@ -158,6 +159,7 @@ isinstance(ftype, ctypeprim.W_CTypePrimitiveChar)) or fbitsize == 0 or fbitsize > 8 * ftype.size): + #XXX WCHAR: reach here if ftype is PrimitiveUniChar raise operationerrfmt(space.w_TypeError, "invalid bit field '%s'", fname) if prev_bit_position > 0: _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit