diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2025-03-24 00:16:08 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2025-03-24 01:07:33 +0100 |
commit | 1a4e6c039be0b1999212071c0857b3fdadc9c65a (patch) | |
tree | 589c29061b8fcc12c3e2c4f68b30c8d4efdab358 | |
parent | c4d7f9164c4a692f96a58cb05a118a1410ebcf62 (diff) |
ubus: fix broken uc_ubus_deferfix-ubus-defer
Rearrange the code in order to lookup the id before using it.
Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
-rw-r--r-- | lib/ubus.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -1001,12 +1001,6 @@ uc_ubus_defer(uc_vm_t *vm, size_t nargs) conn_get(vm, &c); - rv = ubus_lookup_id(&c->ctx, ucv_string_get(objname), &id); - - if (rv != UBUS_STATUS_OK) - err_return(rv, "Failed to resolve object name '%s'", - ucv_string_get(objname)); - args_get_named(vm, nargs, "object", UC_STRING, REQUIRED, &objname, "method", UC_STRING, REQUIRED, &funname, @@ -1016,6 +1010,12 @@ uc_ubus_defer(uc_vm_t *vm, size_t nargs) "fd", 0, NAMED, &fd, "fd_cb", UC_CLOSURE, NAMED, &fdcb); + rv = ubus_lookup_id(&c->ctx, ucv_string_get(objname), &id); + + if (rv != UBUS_STATUS_OK) + err_return(rv, "Failed to resolve object name '%s'", + ucv_string_get(objname)); + rv = uc_ubus_defer_common(vm, c, &res, id, funname, funargs, fd, fdcb, replycb, datacb); if (rv != UBUS_STATUS_OK) |