Author: Antonio Cuni <anto.c...@gmail.com> Branch: hpy Changeset: r98538:f67708ee1204 Date: 2020-01-15 11:09 +0100 http://bitbucket.org/pypy/pypy/changeset/f67708ee1204/
Log: implement HPyUnicode_AsUTF8String diff --git a/pypy/module/hpy_universal/interp_unicode.py b/pypy/module/hpy_universal/interp_unicode.py --- a/pypy/module/hpy_universal/interp_unicode.py +++ b/pypy/module/hpy_universal/interp_unicode.py @@ -2,6 +2,7 @@ from rpython.rlib import rutf8 from pypy.interpreter.error import OperationError, oefmt from pypy.interpreter.unicodehelper import wcharpsize2utf8 +from pypy.objspace.std import unicodeobject from pypy.module.hpy_universal.apiset import API from pypy.module.hpy_universal import handles @@ -29,9 +30,10 @@ @API.func("HPy HPyUnicode_AsUTF8String(HPyContext ctx, HPy h)") def HPyUnicode_AsUTF8String(space, ctx, h): - from rpython.rlib.nonconst import NonConstant - if NonConstant(False): return 0 # needed for the annotator - raise NotImplementedError + w_unicode = handles.deref(space, h) + # XXX: what should we do if w_unicode is not a str? + w_bytes = unicodeobject.encode_object(space, w_unicode, 'utf-8', 'strict') + return handles.new(space, w_bytes) @API.func("HPy HPyUnicode_FromWideChar(HPyContext ctx, const wchar_t *w, HPy_ssize_t size)") def HPyUnicode_FromWideChar(space, ctx, wchar_p, size): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit