X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=libubus.c;h=e9809cf14cf09043e9df311f4be3af9083ae6986;hp=dffbfeb958074aa3d27bc0fbe3e8102f99f6d366;hb=7cd33a8e3a64a2b181fe9722b599302b62c7147c;hpb=0fccce4445b1961451ce3d99a99c1c0defbd4490 diff --git a/libubus.c b/libubus.c index dffbfeb..e9809cf 100644 --- a/libubus.c +++ b/libubus.c @@ -214,6 +214,8 @@ void __hidden ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr *hdr break; case UBUS_MSG_INVOKE: + case UBUS_MSG_UNSUBSCRIBE: + case UBUS_MSG_NOTIFY: if (ctx->stack_depth > 2) { pending = calloc(1, sizeof(*pending) + blob_raw_len(hdr->data)); @@ -225,17 +227,9 @@ void __hidden ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr *hdr blob_raw_len(hdr->data)); list_add(&pending->list, &ctx->pending); } else { - ubus_process_invoke(ctx, hdr); + ubus_process_obj_msg(ctx, hdr); } break; - - case UBUS_MSG_UNSUBSCRIBE: - ubus_process_unsubscribe(ctx, hdr); - break; - - case UBUS_MSG_NOTIFY: - ubus_process_notify(ctx, hdr); - break; } }