logd: allow setting the buffer size from the command line
[project/ubox.git] / log / logd.c
index 978d7d198590afcff892249343c62c9c70d4995e..cbaf2193eb5bdcb80725a0f74f407a00782ae429 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <stdio.h>
 #include <syslog.h>
+#include <unistd.h>
 
 #include <linux/types.h>
 
@@ -169,12 +170,24 @@ ubus_connect_cb(struct uloop_timeout *timeout)
 int
 main(int argc, char **argv)
 {
+       int ch, log_size = 0;
+
        signal(SIGPIPE, SIG_IGN);
 
+       while ((ch = getopt(argc, argv, "S:")) != -1) {
+               switch (ch) {
+               case 'S':
+                       log_size = atoi(optarg);
+                       if (log_size < 1)
+                               log_size = 1;
+                       log_size *= 1024;
+                       break;
+               }
+       }
        uloop_init();
        ubus_timer.cb = ubus_connect_cb;
        uloop_timeout_set(&ubus_timer, 1000);
-       log_init();
+       log_init(log_size);
        uloop_run();
        if (_ctx)
                ubus_free(_ctx);