]> git.scottworley.com Git - keystroke-timestamps/blobdiff - keystroke-timestamps.c
Parse options with getopt instead of strcmp
[keystroke-timestamps] / keystroke-timestamps.c
index 6e3de63127e590c97721dc4583f8ee304dda0bf5..2ab4c42938a2cb3177bd1f00c1a2f413d8ba712c 100644 (file)
@@ -1,14 +1,26 @@
 #include <err.h>
 #include <fcntl.h>
 #include <err.h>
 #include <fcntl.h>
+#include <getopt.h>
 #include <linux/input.h>
 #include <stdio.h>
 #include <linux/input.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <sysexits.h>
 #include <unistd.h>
 
 int main (int argc, char **argv)
 {
 #include <string.h>
 #include <sysexits.h>
 #include <unistd.h>
 
 int main (int argc, char **argv)
 {
-  int print_usec = argc > 1 && strcmp(argv[1], "--usec") == 0;
+  int print_usec = 0;
+  struct option long_options[] = {
+    {"usec",   no_argument,       &print_usec,  1   },
+    {0,        0,                 0,            0   },
+  };
+  while (1) {
+    int c = getopt_long(argc, argv, "", long_options, NULL);
+    if (c == -1) break;
+    if (c != 0) exit(EX_USAGE);
+  }
+
   int fd = open("/dev/input/by-path/platform-i8042-serio-0-event-kbd", O_RDONLY);
   if (fd < 0) {
     err(EX_NOINPUT, "Could not open keyboard event file");
   int fd = open("/dev/input/by-path/platform-i8042-serio-0-event-kbd", O_RDONLY);
   if (fd < 0) {
     err(EX_NOINPUT, "Could not open keyboard event file");