projects
/
project
/
ubus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove separate catch all list, always require a pattern argument for registering...
[project/ubus.git]
/
cli.c
diff --git
a/cli.c
b/cli.c
index
61f1bb2
..
d020b8e
100644
(file)
--- a/
cli.c
+++ b/
cli.c
@@
-108,17
+108,25
@@
static int ubus_cli_listen(struct ubus_context *ctx, int argc, char **argv)
memset(&listener, 0, sizeof(listener));
listener.cb = receive_event;
memset(&listener, 0, sizeof(listener));
listener.cb = receive_event;
- if (!argc) {
+ if (argc > 0) {
+ event = argv[0];
+ } else {
event = "*";
event = "*";
-
ret = ubus_register_event_handler(ctx, &listener, NULL)
;
+
argc = 1
;
}
}
- for (;argc;argv++, argc--) {
- event = argv[0];
- ret = ubus_register_event_handler(ctx, &listener, argv[0]);
+ do {
+ ret = ubus_register_event_handler(ctx, &listener, event);
if (ret)
break;
if (ret)
break;
- }
+
+ argv++;
+ argc--;
+ if (argc <= 0)
+ break;
+
+ event = argv[0];
+ } while (1);
if (ret) {
fprintf(stderr, "Error while registering for event '%s': %s\n",
if (ret) {
fprintf(stderr, "Error while registering for event '%s': %s\n",