diff options
| author | 2014-07-29 17:37:34 +0200 | |
|---|---|---|
| committer | 2014-07-29 20:35:36 +0200 | |
| commit | e2bcf8ba1be6e78c850621e4d908bc3f25fae2a7 (patch) | |
| tree | 0e4a5ff9110c55cc1472c49fccc5dd3a492e8770 /xkbcat.c | |
| parent | 66d5bb2c84cd9f92eb146a8496bda4c9c9b0f0ce (diff) | |
| download | xkbcat-e2bcf8ba1be6e78c850621e4d908bc3f25fae2a7.tar.gz xkbcat-e2bcf8ba1be6e78c850621e4d908bc3f25fae2a7.zip | |
Use nanosleep instead of usleep
`usleep` is removed from POSIX C11.
Diffstat (limited to 'xkbcat.c')
| -rw-r--r-- | xkbcat.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -20,6 +20,7 @@ #include <stdio.h> #include <stdlib.h> #include <stdbool.h> +#include <time.h> char *DEFAULT_DISPLAY = ":0"; const int DEFAULT_DELAY = 10000; @@ -50,10 +51,10 @@ int main(int argc, char *argv[]) { buf1[32], buf2[32], *keys, *saved; - int i, delay = DEFAULT_DELAY; + int delay = DEFAULT_DELAY; /* get args */ - for (i=1; i<argc; i++) { + for (int i = 1; i < argc; i++) { if (!strcmp(argv[i], "-help")) usage(); else if (!strcmp(argv[i], "-display")) { i++; @@ -79,10 +80,15 @@ int main(int argc, char *argv[]) { saved = buf1; keys=buf2; XQueryKeymap(disp, saved); + struct timespec sleepTime = { + .tv_sec = 0, + .tv_nsec = delay * 1000 + }; + while (1) { /* find changed keys */ XQueryKeymap(disp, keys); - for (i=0; i<32*8; i++) { + for (int i = 0; i < 32*8; i++) { if (BIT(keys, i) != BIT(saved, i)) { register char *str; str = (char *)KeyCodeToStr(i, BIT(keys, i)); @@ -96,7 +102,7 @@ int main(int argc, char *argv[]) { saved = keys; keys = char_ptr; - usleep(delay); + nanosleep(&sleepTime, NULL); } } |
