blueloveTH 2 years ago
parent
commit
78410fc79a
3 changed files with 6 additions and 6 deletions
  1. 1 1
      c_bindings/pocketpy_c.cpp
  2. 1 1
      docs/C-API/vm.md
  3. 4 4
      src/pocketpy.h

+ 1 - 1
c_bindings/pocketpy_c.cpp

@@ -418,7 +418,7 @@ bool pkpy_to_string(pkpy_vm* vm_handle, int index, char** ret) {
     ERRHANDLER_CLOSE
 }
 
-bool pkpy_to_stringn(pkpy_vm* vm_handle, int index, const char** ret, int* size) {
+bool pkpy_to_stringn(pkpy_vm* vm_handle, int index, char** ret, int* size) {
     CVM* vm = (CVM*) vm_handle;
     ERRHANDLER_OPEN
     index = lua_to_cstack_index(index, vm->c_data->size());

+ 1 - 1
docs/C-API/vm.md

@@ -32,7 +32,7 @@ Delete a virtual machine.
 
 Delete a REPL.
 
-#### `void pkpy_vm_compile(VM* vm, const char* source, const char* filename, int mode, bool* ok, char* res)`
+#### `void pkpy_vm_compile(VM* vm, const char* source, const char* filename, int mode, bool* ok, char** res)`
 
 Compile a source into bytecode and serialize it into a string.
 

+ 4 - 4
src/pocketpy.h

@@ -1463,17 +1463,17 @@ extern "C" {
     }
 
     PK_LEGACY_EXPORT
-    void pkpy_vm_compile(pkpy::VM* vm, const char* source, const char* filename, int mode, bool* ok, char* res){
+    void pkpy_vm_compile(pkpy::VM* vm, const char* source, const char* filename, int mode, bool* ok, char** res){
         try{
             pkpy::CodeObject_ code = vm->compile(source, filename, (pkpy::CompileMode)mode);
-            res = code->serialize(vm).c_str_dup();
+            *res = code->serialize(vm).c_str_dup();
             *ok = true;
         }catch(pkpy::Exception& e){
             *ok = false;
-            res = e.summary().c_str_dup();
+            *res = e.summary().c_str_dup();
         }catch(...){
             *ok = false;
-            res = strdup("unknown error");
+            *res = strdup("unknown error");
         }
     }