while (num > 0) {
if (streq("-d", *args) || streq("--dump-state", *args)) {
- query_tree(rsp);
+ query_state(rsp);
fprintf(rsp, "\n");
} else if (streq("-l", *args) || streq("--load-state", *args)) {
num--, args++;
fail(rsp, "wm %s: Not enough arguments.\n", *(args - 1));
break;
}
- if (!restore_tree(*args)) {
+ if (!restore_state(*args)) {
fail(rsp, "");
break;
}
fail(rsp, "wm %s: Invalid argument: '%s'.\n", *(args - 1), *args);
break;
}
+ } else if (streq("-r", *args) || streq("--restart", *args)) {
+ running = false;
+ restart = true;
+ break;
} else {
fail(rsp, "wm: Unknown command: '%s'.\n", *args);
break;
}
}
- add_subscriber(stream, fifo_path, field, count);
+ subscriber_list_t *sb = make_subscriber(stream, fifo_path, field, count);
+ add_subscriber(sb);
return;
failed: