ucode: adjust to latest ucode api
authorJo-Philipp Wich <jo@mein.io>
Mon, 7 Feb 2022 08:59:26 +0000 (09:59 +0100)
committerJo-Philipp Wich <jo@mein.io>
Mon, 7 Feb 2022 08:59:26 +0000 (09:59 +0100)
The public libucode api has been revised to return and expect an
uc_program_t pointer instead of a main function reference.

The program (former main function) is also not implicitly released
by uc_vm_execute() anymore.

Adjust the ucode plugin accordingly to match the new requirements.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
ucode.c

diff --git a/ucode.c b/ucode.c
index f408576ef66822d848c3e701e42410feb3e1df05..69da3da67a7e48378bc95addc935d17a413e97b3 100644 (file)
--- a/ucode.c
+++ b/ucode.c
@@ -220,7 +220,7 @@ uh_ucode_state_init(struct ucode_prefix *ucode)
 {
        char *syntax_error = NULL;
        uc_vm_t *vm = &ucode->ctx;
-       uc_function_t *handler;
+       uc_program_t *handler;
        uc_vm_status_t status;
        uc_source_t *src;
        uc_value_t *v;
@@ -275,6 +275,7 @@ uh_ucode_state_init(struct ucode_prefix *ucode)
        status = uc_vm_execute(vm, handler, &v);
        exitcode = (int)ucv_int64_get(v);
 
+       uc_program_put(handler);
        ucv_put(v);
 
        switch (status) {