chiark / gitweb /
scsi_id: compiler warning on 32-bit
[elogind.git] / udev / udevadm-trigger.c
index f0535f5eb0c9477765e4dbd129f9e6413771dc81..e7940ef92d608a6274690e75f6d8cb1571645c69 100644 (file)
@@ -47,7 +47,7 @@ static struct sockaddr_un saddr;
 static socklen_t saddrlen;
 
 /* devices that should run last cause of their dependencies */
-static int delay_device(const char *devpath)
+static int delay_device(const char *syspath)
 {
        static const char *delay_device_list[] = {
                "*/md*",
@@ -57,7 +57,7 @@ static int delay_device(const char *devpath)
        int i;
 
        for (i = 0; delay_device_list[i] != NULL; i++)
-               if (fnmatch(delay_device_list[i], devpath, 0) == 0)
+               if (fnmatch(delay_device_list[i], syspath, 0) == 0)
                        return 1;
        return 0;
 }
@@ -65,7 +65,6 @@ static int delay_device(const char *devpath)
 static int device_list_insert(struct udev *udev, const char *path)
 {
        char filename[UTIL_PATH_SIZE];
-       char devpath[UTIL_PATH_SIZE];
        struct stat statbuf;
 
        dbg(udev, "add '%s'\n" , path);
@@ -78,30 +77,28 @@ static int device_list_insert(struct udev *udev, const char *path)
        if (!(statbuf.st_mode & S_IWUSR))
                return -1;
 
-       util_strlcpy(devpath, &path[strlen(udev_get_sys_path(udev))], sizeof(devpath));
-
        /* resolve possible link to real target */
-       if (lstat(path, &statbuf) < 0)
+       util_strlcpy(filename, path, sizeof(filename));
+       if (lstat(filename, &statbuf) < 0)
                return -1;
        if (S_ISLNK(statbuf.st_mode))
-               if (util_resolve_sys_link(udev, devpath, sizeof(devpath)) != 0)
+               if (util_resolve_sys_link(udev, filename, sizeof(filename)) != 0)
                        return -1;
 
-       name_list_add(udev, &device_list, devpath, 1);
+       name_list_add(udev, &device_list, filename, 1);
        return 0;
 }
 
-static void trigger_uevent(struct udev *udev, const char *devpath, const char *action)
+static void trigger_uevent(struct udev *udev, const char *syspath, const char *action)
 {
        char filename[UTIL_PATH_SIZE];
        int fd;
 
-       util_strlcpy(filename, udev_get_sys_path(udev), sizeof(filename));
-       util_strlcat(filename, devpath, sizeof(filename));
+       util_strlcpy(filename, syspath, sizeof(filename));
        util_strlcat(filename, "/uevent", sizeof(filename));
 
        if (verbose)
-               printf("%s\n", devpath);
+               printf("%s\n", syspath);
 
        if (dry_run)
                return;
@@ -118,7 +115,7 @@ static void trigger_uevent(struct udev *udev, const char *devpath, const char *a
        close(fd);
 }
 
-static int pass_to_socket(struct udev *udev, const char *devpath, const char *action, const char *env)
+static int pass_to_socket(struct udev *udev, const char *syspath, const char *action, const char *env)
 {
        struct udevice *udevice;
        struct name_entry *name_loop;
@@ -129,6 +126,7 @@ static int pass_to_socket(struct udev *udev, const char *devpath, const char *ac
        int fd;
        char link_target[UTIL_PATH_SIZE];
        int len;
+       const char *devpath = &syspath[strlen(udev_get_sys_path(udev))];
        int err = 0;
 
        if (verbose)
@@ -193,8 +191,7 @@ static int pass_to_socket(struct udev *udev, const char *devpath, const char *ac
        }
 
        /* add keys from device "uevent" file */
-       util_strlcpy(path, udev_get_sys_path(udev), sizeof(path));
-       util_strlcat(path, devpath, sizeof(path));
+       util_strlcpy(path, syspath, sizeof(path));
        util_strlcat(path, "/uevent", sizeof(path));
        fd = open(path, O_RDONLY);
        if (fd >= 0) {