chiark / gitweb /
move syslog wrapper to libudev
[elogind.git] / udev / udevadm-test.c
index 664d72f6d3484e58758c410e33d3713576dcbea8..e49d52c5f1800b41f8e2990d4950d03957371aad 100644 (file)
@@ -91,15 +91,15 @@ int udevadm_test(struct udev *udev, int argc, char *argv[])
        }
 
        /* add /sys if needed */
-       if (strncmp(syspath, udev_get_sys_path(udev), strlen(udev_get_sys_path(udev))) != 0) {
-               util_strlcpy(filename, udev_get_sys_path(udev), sizeof(filename));
-               util_strlcat(filename, syspath, sizeof(filename));
-               syspath = filename;
-       }
+       if (strncmp(syspath, udev_get_sys_path(udev), strlen(udev_get_sys_path(udev))) != 0)
+               util_strscpyl(filename, sizeof(filename), udev_get_sys_path(udev), syspath, NULL);
+       else
+               util_strscpy(filename, sizeof(filename), syspath);
+       util_remove_trailing_chars(filename, '/');
 
-       dev = udev_device_new_from_syspath(udev, syspath);
+       dev = udev_device_new_from_syspath(udev, filename);
        if (dev == NULL) {
-               fprintf(stderr, "unable to open device '%s'\n", syspath);
+               fprintf(stderr, "unable to open device '%s'\n", filename);
                rc = 2;
                goto exit;
        }
@@ -121,8 +121,7 @@ int udevadm_test(struct udev *udev, int argc, char *argv[])
                udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
                        char program[UTIL_PATH_SIZE];
 
-                       util_strlcpy(program, udev_list_entry_get_name(entry), sizeof(program));
-                       udev_event_apply_format(event, program, sizeof(program));
+                       udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
                        info(udev, "run: '%s'\n", program);
                }
        }