Skip to content

Commit 38d980b

Browse files
committed
Materialize string on HPyUnicode_FromString
1 parent 8d87fda commit 38d980b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContextFunctions.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,14 +1105,16 @@ public static final class GraalHPyUnicodeFromString extends GraalHPyContextFunct
11051105
Object execute(Object[] arguments,
11061106
@Cached HPyAsContextNode asContextNode,
11071107
@Cached FromCharPointerNode fromCharPointerNode,
1108+
@Cached CastToJavaStringNode toString,
1109+
@Cached PythonObjectFactory factory,
11081110
@Cached HPyTransformExceptionToNativeNode transformExceptionToNativeNode,
11091111
@Cached HPyAsHandleNode asHandleNode) throws ArityException {
11101112
checkArity(arguments, 2);
11111113
GraalHPyContext context = asContextNode.execute(arguments[0]);
11121114
try {
11131115
// TODO(fa) provide encoding (utf8)
1114-
Object str = fromCharPointerNode.execute(arguments[1]);
1115-
return asHandleNode.execute(context, str);
1116+
String str = toString.execute(fromCharPointerNode.execute(arguments[1]));
1117+
return asHandleNode.execute(context, factory.createString(str));
11161118
} catch (PException e) {
11171119
transformExceptionToNativeNode.execute(context, e);
11181120
return GraalHPyHandle.NULL_HANDLE;

0 commit comments

Comments
 (0)