]> git.sur5r.net Git - i3/i3/commitdiff
cmd_shmlog: use parse_long() 3267/head
authorOrestis Floros <orestisf1993@gmail.com>
Thu, 26 Apr 2018 20:47:45 +0000 (23:47 +0300)
committerOrestis Floros <orestisf1993@gmail.com>
Thu, 26 Apr 2018 20:47:45 +0000 (23:47 +0300)
src/commands.c

index 6083c6515268af4e3e34546bad7ef13d7a199dce..98e10c1d0815704468c5439ad35cdff27b79b966 100644 (file)
@@ -2164,21 +2164,22 @@ void cmd_shmlog(I3_CMD, const char *argument) {
     else if (!strcmp(argument, "off"))
         shmlog_size = 0;
     else {
+        long new_size = 0;
+        if (!parse_long(argument, &new_size, 0)) {
+            yerror("Failed to parse %s into a shmlog size.\n", argument);
+            return;
+        }
         /* If shm logging now, restart logging with the new size. */
         if (shmlog_size > 0) {
             shmlog_size = 0;
             LOG("Restarting shm logging...\n");
             init_logging();
         }
-        shmlog_size = atoi(argument);
-        /* Make a weakly attempt at ensuring the argument is valid. */
-        if (shmlog_size <= 0)
-            shmlog_size = default_shmlog_size;
+        shmlog_size = (int)new_size;
     }
     LOG("%s shm logging\n", shmlog_size > 0 ? "Enabling" : "Disabling");
     init_logging();
     update_shmlog_atom();
-    // XXX: default reply for now, make this a better reply
     ysuccess(true);
 }