mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
0d227f85ad
commit
78410fc79a
@ -418,7 +418,7 @@ bool pkpy_to_string(pkpy_vm* vm_handle, int index, char** ret) {
|
|||||||
ERRHANDLER_CLOSE
|
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;
|
CVM* vm = (CVM*) vm_handle;
|
||||||
ERRHANDLER_OPEN
|
ERRHANDLER_OPEN
|
||||||
index = lua_to_cstack_index(index, vm->c_data->size());
|
index = lua_to_cstack_index(index, vm->c_data->size());
|
||||||
|
@ -32,7 +32,7 @@ Delete a virtual machine.
|
|||||||
|
|
||||||
Delete a REPL.
|
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.
|
Compile a source into bytecode and serialize it into a string.
|
||||||
|
|
||||||
|
@ -1463,17 +1463,17 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PK_LEGACY_EXPORT
|
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{
|
try{
|
||||||
pkpy::CodeObject_ code = vm->compile(source, filename, (pkpy::CompileMode)mode);
|
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;
|
*ok = true;
|
||||||
}catch(pkpy::Exception& e){
|
}catch(pkpy::Exception& e){
|
||||||
*ok = false;
|
*ok = false;
|
||||||
res = e.summary().c_str_dup();
|
*res = e.summary().c_str_dup();
|
||||||
}catch(...){
|
}catch(...){
|
||||||
*ok = false;
|
*ok = false;
|
||||||
res = strdup("unknown error");
|
*res = strdup("unknown error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user