summaryrefslogtreecommitdiffhomepage
path: root/main.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2022-01-28 20:15:13 +0100
committerJo-Philipp Wich <jo@mein.io>2022-01-29 23:33:07 +0100
commit2cb627f3ba79bfce98e4cf6ab4b2e8029e8cb09e (patch)
treed4080e561b42f0ae706efe07b7158e9555eab708 /main.c
parent1094ffa276990fd53abe633e5b14869d7c538a16 (diff)
program: rename bytecode load/write functions, track path of executed file
Extend source objects with a `runpath` field which contains the original path of the source being executed by the VM. When instantiating source objects from file paths, the `runpath` will be set to the `filename`. When instantiating source buffers using `uc_source_new_buffer()`, the runpath is initially unset. A new function `uc_source_runpath_set()` can be used to adjust the runtime path being associated with a source object. Extend bytecode loading logic to set the source buffer runtime path to the precompiled bytecode file path being loaded and executed. This is required for `sourcepath()` and relative paths in `include()` to function correctly when executing precompiled programs. Finally rename `uc_program_from_file()` and `uc_program_to_file()` to `uc_program_load()` and `uc_program_write()` respectively since the load part now operates on an `uc_source_t` input buffer instead of a plain `FILE *` handle. Adjust users of these API functions accordingly. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'main.c')
-rw-r--r--main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main.c b/main.c
index aba9989..4b6738d 100644
--- a/main.c
+++ b/main.c
@@ -95,7 +95,7 @@ compile(uc_vm_t *vm, uc_source_t *src, FILE *precompile, bool strip)
}
if (precompile) {
- uc_program_to_file(entry->program, precompile, !strip);
+ uc_program_write(entry->program, precompile, !strip);
uc_program_free(entry->program);
fclose(precompile);
goto out;