From b97e283fd84ae097d8593f8042c7c75f21da4d1f Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Thu, 28 Sep 2023 03:18:32 +0800 Subject: [PATCH] ... --- include/pocketpy/pocketpy_c.h | 1 + src/pocketpy_c.cpp | 12 ++++++++++++ src2/pocketpy_c.c | 5 +++++ 3 files changed, 18 insertions(+) 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;