chiark / gitweb /
[PATCH] conditional remove of trailing sysfs whitespace
[elogind.git] / udev-add.c
index c28256a5a6f902f64030f2fafc7be0ee1ad4bbfc..de1fb953c4e774c8427bbb4d1646ab9d53f88e5c 100644 (file)
@@ -195,7 +195,8 @@ static int create_node(struct udevice *dev, int fake)
        gid_t gid = 0;
        int i;
        int tail;
-       int pos, len;
+       char *pos;
+       int len;
 
        strfieldcpy(filename, udev_root);
        strfieldcat(filename, dev->name);
@@ -226,10 +227,11 @@ static int create_node(struct udevice *dev, int fake)
                if (endptr[0] == '\0')
                        uid = (uid_t) id;
                else {
+                       struct passwd *pw;
                        if (strncmp(dev->owner, LOCAL_USER, sizeof(LOCAL_USER)) == 0)
                                set_to_local_user(dev->owner);
 
-                       struct passwd *pw = getpwnam(dev->owner);
+                       pw = getpwnam(dev->owner);
                        if (pw == NULL)
                                dbg("specified user unknown '%s'", dev->owner);
                        else
@@ -280,7 +282,7 @@ static int create_node(struct udevice *dev, int fake)
 
        /* create symlink if requested */
        foreach_strpart(dev->symlink, " ", pos, len) {
-               strnfieldcpy(linkname, dev->symlink + pos, len+1);
+               strnfieldcpy(linkname, pos, len+1);
                strfieldcpy(filename, udev_root);
                strfieldcat(filename, linkname);
                dbg("symlink '%s' to node '%s' requested", filename, dev->name);