diff --git a/include/pocketpy/pocketpy_c.h b/include/pocketpy/pocketpy_c.h index c0f5f605..7ec9cfe9 100644 --- a/include/pocketpy/pocketpy_c.h +++ b/include/pocketpy/pocketpy_c.h @@ -78,6 +78,7 @@ PK_EXPORT bool pkpy_eval(pkpy_vm*, const char* source); PK_EXPORT bool pkpy_unpack_sequence(pkpy_vm*, int size); PK_EXPORT bool pkpy_get_unbound_method(pkpy_vm*, pkpy_CName name); PK_EXPORT bool pkpy_py_repr(pkpy_vm*); +PK_EXPORT bool pkpy_py_str(pkpy_vm*); /* Error Handling */ PK_EXPORT bool pkpy_error(pkpy_vm*, const char* name, pkpy_CString msg); diff --git a/src/pocketpy_c.cpp b/src/pocketpy_c.cpp index 3ee2d40d..194dc8c6 100644 --- a/src/pocketpy_c.cpp +++ b/src/pocketpy_c.cpp @@ -483,6 +483,18 @@ bool pkpy_py_repr(pkpy_vm* vm_handle) { return true; } +bool pkpy_py_str(pkpy_vm* vm_handle) { + VM* vm = (VM*) vm_handle; + PK_ASSERT_NO_ERROR() + PK_ASSERT_N_EXTRA_ELEMENTS(1) + PyObject* item = vm->s_data.top(); + PK_PROTECTED( + item = vm->py_str(item); + ) + vm->s_data.top() = item; + return true; +} + /* Error Handling */ bool pkpy_error(pkpy_vm* vm_handle, const char* name, pkpy_CString message) { VM* vm = (VM*) vm_handle; diff --git a/src2/pocketpy_c.c b/src2/pocketpy_c.c index 136aa206..5892fe42 100644 --- a/src2/pocketpy_c.c +++ b/src2/pocketpy_c.c @@ -194,6 +194,11 @@ bool pkpy_py_repr(pkpy_vm* vm) { return returnValue; } +bool pkpy_py_str(pkpy_vm* vm) { + bool returnValue; + return returnValue; +} + bool pkpy_error(pkpy_vm* vm, const char* name, pkpy_CString msg) { bool returnValue; return returnValue;