ubus/lua: pass notification name to callback
[project/ubus.git] / cli.c
diff --git a/cli.c b/cli.c
index 624c089..19ccbb5 100644 (file)
--- a/cli.c
+++ b/cli.c
@@ -17,6 +17,7 @@
 #include "libubus.h"
 
 static struct blob_buf b;
+static int listen_timeout;
 static int timeout = 30;
 static bool simple_output = false;
 static int verbose = 0;
@@ -158,7 +159,7 @@ struct cli_listen_data {
        bool timed_out;
 };
 
-static void listen_timeout(struct uloop_timeout *timeout)
+static void ubus_cli_listen_timeout(struct uloop_timeout *timeout)
 {
        struct cli_listen_data *data = container_of(timeout, struct cli_listen_data, timeout);
        data->timed_out = true;
@@ -168,10 +169,11 @@ static void listen_timeout(struct uloop_timeout *timeout)
 static void do_listen(struct ubus_context *ctx, struct cli_listen_data *data)
 {
        memset(data, 0, sizeof(*data));
-       data->timeout.cb = listen_timeout;
+       data->timeout.cb = ubus_cli_listen_timeout;
        uloop_init();
        ubus_add_uloop(ctx);
-       uloop_timeout_set(&data->timeout, timeout * 1000);
+       if (listen_timeout)
+               uloop_timeout_set(&data->timeout, listen_timeout * 1000);
        uloop_run();
        uloop_done();
 }
@@ -585,6 +587,7 @@ int main(int argc, char **argv)
                        ubus_socket = optarg;
                        break;
                case 't':
+                       listen_timeout = atoi(optarg);
                        timeout = atoi(optarg);
                        break;
                case 'S':