chiark / gitweb /
no newline in log messages
[elogind.git] / udevtrigger.c
index c809d2d47bda67cd696e8bcb53d6620155840402..3b5be2006e5de952bd2343e5489b8b22fa6bdae6 100644 (file)
@@ -118,12 +118,12 @@ static void trigger_uevent(const char *devpath)
 
        fd = open(filename, O_WRONLY);
        if (fd < 0) {
-               dbg("error on opening %s: %s\n", filename, strerror(errno));
+               dbg("error on opening %s: %s", filename, strerror(errno));
                return;
        }
 
        if (write(fd, "add", 3) < 0)
-               info("error on triggering %s: %s\n", filename, strerror(errno));
+               info("error on triggering %s: %s", filename, strerror(errno));
 
        close(fd);
 }
@@ -407,22 +407,14 @@ static void scan_failed(void)
        if (dir != NULL) {
                for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
                        char device[PATH_SIZE];
-                       size_t start, end, i;
+                       size_t start;
 
                        if (dent->d_name[0] == '.')
                                continue;
 
-                       strlcpy(device, sysfs_path, sizeof(device));
-                       start = strlcat(device, "/", sizeof(device));
-                       end = strlcat(device, dent->d_name, sizeof(device));
-                       if (end > sizeof(device))
-                               end = sizeof(device);
-
-                       /* replace PATH_TO_NAME_CHAR with '/' */
-                       for (i = start; i < end; i++)
-                               if (device[i] == PATH_TO_NAME_CHAR)
-                                       device[i] = '/';
-
+                       start = strlcpy(device, sysfs_path, sizeof(device));
+                       strlcat(device, dent->d_name, sizeof(device));
+                       path_decode(&device[start]);
                        device_list_insert(device);
                }
                closedir(dir);