X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fkeymap%2Fkeymap.c;h=597a53b467c20094b0233fb4d234f2ec38d438d2;hb=d7867b31836173d1a943ecb1cab6484536126411;hp=719c30e60085ad0886da1269d31db099d604616d;hpb=2514465f6a4ab61617482f068e475b945438c1f1;p=elogind.git diff --git a/extras/keymap/keymap.c b/extras/keymap/keymap.c index 719c30e60..597a53b46 100644 --- a/extras/keymap/keymap.c +++ b/extras/keymap/keymap.c @@ -141,8 +141,9 @@ static int dump_table(int fd) { int keycode; if ((keycode = evdev_get_keycode(fd, scancode, 1)) < 0) { - if (keycode != -2) - r = -1; + if (keycode == -2) + continue; + r = -1; break; } @@ -191,8 +192,7 @@ static int merge_table(int fd, const char *filename) { f = fopen(filename, "r"); if (!f) { perror(filename); - r = -1; - goto fail; + return -1; } while (!feof(f)) { @@ -242,6 +242,7 @@ static int merge_table(int fd, const char *filename) { scancode, new_keycode, old_keycode); } fail: + fclose(f); return r; }