X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fkeymap%2Fkeymap.c;h=6dc9c2d200b7ab9245217b9bc35029146a641dc6;hb=d91b8841d7a3ee08aa686852154b08a3e9eb9732;hp=cc37a9b8c21d4fd64edb08b8ac860b424e7dbd0e;hpb=6df831f25ebc9f55cd939f04392dad9237706e45;p=elogind.git diff --git a/src/udev/keymap/keymap.c b/src/udev/keymap/keymap.c index cc37a9b8c..6dc9c2d20 100644 --- a/src/udev/keymap/keymap.c +++ b/src/udev/keymap/keymap.c @@ -40,6 +40,8 @@ const struct key* lookup_key (const char *str, unsigned int len); #include "keys-from-name.h" #include "keys-to-name.h" +#include "macro.h" +#include "util.h" #define MAX_SCANCODES 1024 @@ -48,7 +50,7 @@ static int evdev_open(const char *dev) int fd; char fn[PATH_MAX]; - if (strncmp(dev, "/dev", 4) != 0) { + if (!startswith(dev, "/dev")) { snprintf(fn, sizeof(fn), "/dev/%s", dev); dev = fn; } @@ -345,7 +347,7 @@ static void interactive(int fd) ioctl(fd, EVIOCGRAB, 0); } -static void help(int error) +_noreturn_ static void help(int error) { const char* h = "Usage: keymap []\n" " keymap scancode keyname [...]\n" @@ -409,7 +411,7 @@ int main(int argc, char **argv) const char *filearg = argv[optind+1]; if (strchr(filearg, '/')) { /* Keymap file argument is a path */ - FILE *f = fopen(filearg, "r"); + FILE *f = fopen(filearg, "re"); if (f) merge_table(fd, f); else @@ -420,12 +422,12 @@ int main(int argc, char **argv) char keymap_path[PATH_MAX]; FILE *f; snprintf(keymap_path, sizeof(keymap_path), "%s%s", SYSCONFDIR "/udev/keymaps/", filearg); - f = fopen(keymap_path, "r"); + f = fopen(keymap_path, "re"); if (f) { merge_table(fd, f); } else { snprintf(keymap_path, sizeof(keymap_path), "%s%s", UDEVLIBEXECDIR "/keymaps/", filearg); - f = fopen(keymap_path, "r"); + f = fopen(keymap_path, "re"); if (f) merge_table(fd, f); else