chiark / gitweb /
keymap: Add Dell Latitude force-release quirk
[elogind.git] / src / udev / keymap / keymap.c
index cc37a9b8c21d4fd64edb08b8ac860b424e7dbd0e..051aa42552f2e8428349ff12aab27c7219d14c7d 100644 (file)
@@ -40,6 +40,7 @@ const struct key* lookup_key (const char *str, unsigned int len);
 
 #include "keys-from-name.h"
 #include "keys-to-name.h"
+#include "util.h"
 
 #define MAX_SCANCODES 1024
 
@@ -48,7 +49,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;
         }
@@ -409,7 +410,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 +421,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