From f4d2c401f76b6fe114b9715a4e98667edd35b011 Mon Sep 17 00:00:00 2001 From: Kolten Pearson Date: Fri, 5 May 2023 18:46:20 -0600 Subject: [PATCH] adjusted to change in vm constructor --- c_bindings/pocketpy_c.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/c_bindings/pocketpy_c.cpp b/c_bindings/pocketpy_c.cpp index 0b196a0e..1c249633 100644 --- a/c_bindings/pocketpy_c.cpp +++ b/c_bindings/pocketpy_c.cpp @@ -39,7 +39,7 @@ class CVM : public VM { public : ValueStackImpl* c_data; - CVM(bool use_stdio = true, bool enable_os=true) : VM(use_stdio, enable_os) { + CVM(bool enable_os=true) : VM(enable_os) { c_data = new ValueStackImpl(); } @@ -100,10 +100,23 @@ void gc_marker_ex(CVM* vm) { for(PyObject* obj: *vm->c_data) if(obj!=nullptr) OBJ_MARK(obj); } + +static void noop_output_handler(VM* vm, const Str& str) { + (void) vm; + (void) str; +} + pkpy_vm* pkpy_vm_create(bool use_stdio, bool enable_os) { - CVM* vm = new CVM(use_stdio, enable_os); + + CVM* vm = new CVM(enable_os); vm->c_data = new ValueStackImpl(); vm->_gc_marker_ex = (void (*)(VM*)) gc_marker_ex; + + if (!use_stdio) { + vm->_stdout = noop_output_handler; + vm->_stderr = noop_output_handler; + } + return (pkpy_vm*) vm; }