![]() |
Fun 0.41.5
The programming language that makes you have fun!
|
VM opcode snippet for loading a JSON document from a file. More...
Go to the source code of this file.
Functions | |
| free_value (vpath) | |
| if (!path) | |
| free (path) | |
| push_value (vm, v) | |
| json_object_put (root) | |
Variables | |
| case | OP_JSON_FROM_FILE |
| char * | path = value_to_string_alloc(&vpath) |
| json_object * | root = json_object_from_file(path) |
| Value | v = json_to_fun(root) |
| break | |
VM opcode snippet for loading a JSON document from a file.
This snippet is included by vm.c and implements the OP_JSON_FROM_FILE instruction. It expects a path on the VM stack, reads the file using json-c, converts the resulting json_object tree into a Fun Value, and pushes that Value back on the VM stack.
Build gating: compiled only when FUN_WITH_JSON is enabled (json-c available). When disabled, the opcode consumes its argument (if any) and pushes Nil.
Stack effect (with FUN_WITH_JSON):
Errors and edge cases:
Definition in file from_file.c.
| free | ( | path | ) |
| free_value | ( | vpath | ) |
| if | ( | ! | path | ) |
Definition at line 40 of file from_file.c.
| json_object_put | ( | root | ) |
| push_value | ( | vm | , |
| v | ) |
| break |
Definition at line 58 of file from_file.c.
| case OP_JSON_FROM_FILE |
Definition at line 35 of file from_file.c.
| char* path = value_to_string_alloc(&vpath) |
Definition at line 38 of file from_file.c.
| json_object* root = json_object_from_file(path) |
Definition at line 44 of file from_file.c.
| Value v = json_to_fun(root) |
Definition at line 50 of file from_file.c.