mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-23 21:10:19 +00:00
added a pkpy_vm_push method
This commit is contained in:
parent
8abaebbf9f
commit
e2bf81d7f2
@ -547,3 +547,11 @@ bool pkpy_pop(pkpy_vm* vm_handle, int n) {
|
||||
vm->c_data->shrink(n);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool pkpy_push(pkpy_vm* vm_handle, int index) {
|
||||
CVM* vm = (CVM*) vm_handle;
|
||||
index = lua_to_cstack_index(index, vm->c_data->size());
|
||||
vm->c_data->push(vm->c_data->begin()[index]);
|
||||
return true;
|
||||
}
|
||||
|
@ -30,6 +30,10 @@ typedef int (*pkpy_function)(pkpy_vm*);
|
||||
|
||||
bool pkpy_pop(pkpy_vm*, int n);
|
||||
|
||||
//push the item at index onto the top of the stack (as well as leaving it where
|
||||
//it is on the stack)
|
||||
bool pkpy_push(pkpy_vm*, int index);
|
||||
|
||||
bool pkpy_push_function(pkpy_vm*, pkpy_function);
|
||||
bool pkpy_push_int(pkpy_vm*, int);
|
||||
bool pkpy_push_float(pkpy_vm*, double);
|
||||
|
@ -209,6 +209,8 @@ int main(int argc, char** argv) {
|
||||
check(pkpy_is_string(vm, -3));
|
||||
check(pkpy_is_none(vm, -2));
|
||||
check(pkpy_is_voidp(vm, -1));
|
||||
check(pkpy_push(vm, -3));
|
||||
check(pkpy_is_string(vm, -1));
|
||||
|
||||
printf("\ntesting error catching\n");
|
||||
error(pkpy_vm_run(vm, "let's make sure syntax errors get caught"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user