Skip to content

Commit e96d0f8

Browse files
committed
Fix: use correct accessor to write pointer
1 parent 66cc521 commit e96d0f8

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

graalpython/com.oracle.graal.python.cext/src/capi.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,11 @@ PyAPI_FUNC(int) WriteObjectMember(void* object, Py_ssize_t offset, PyObject* val
663663
return 0;
664664
}
665665

666+
PyAPI_FUNC(int) WritePointerMember(void* object, Py_ssize_t offset, void* value) {
667+
WriteMember(object, offset, value, void*);
668+
return 0;
669+
}
670+
666671
PyAPI_FUNC(int) WriteCharMember(void* object, Py_ssize_t offset, char value) {
667672
WriteMember(object, offset, value, char);
668673
return 0;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/capi/NativeCAPISymbol.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ public enum NativeCAPISymbol implements NativeCExtSymbol {
106106
FUN_WRITE_STRING_MEMBER("WriteStringMember", Int, Pointer, Py_ssize_t, ConstCharPtr),
107107
FUN_WRITE_STRING_IN_PLACE_MEMBER("WriteStringInPlaceMember", Int, Pointer, Py_ssize_t, ConstCharPtr),
108108
FUN_WRITE_OBJECT_MEMBER("WriteObjectMember", Int, Pointer, Py_ssize_t, Pointer),
109+
FUN_WRITE_POINTER_MEMBER("WritePointerMember", Int, Pointer, Py_ssize_t, Pointer),
109110
FUN_WRITE_OBJECT_EX_MEMBER("WriteObjectExMember", Int, Pointer, Py_ssize_t, Pointer),
110111
FUN_WRITE_CHAR_MEMBER("WriteCharMember", Int, Pointer, Py_ssize_t, Int),
111112
FUN_WRITE_UBYTE_MEMBER("WriteUByteMember", Int, Pointer, Py_ssize_t, Int),

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/structs/CStructAccess.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1196,7 +1196,7 @@ static void writeManaged(Object pointer, long offset, Object value,
11961196
@SuppressWarnings("unused") @CachedLibrary(limit = "3") InteropLibrary lib,
11971197
@Cached PCallCapiFunction call) {
11981198
assert validPointer(pointer);
1199-
call.call(NativeCAPISymbol.FUN_WRITE_LONG_MEMBER, pointer, offset, value);
1199+
call.call(NativeCAPISymbol.FUN_WRITE_POINTER_MEMBER, pointer, offset, value);
12001200
}
12011201

12021202
public static WritePointerNode getUncached() {

0 commit comments

Comments
 (0)