chiark / gitweb /
[PATCH] Libsysfs updates
[elogind.git] / udevdb.c
index 22d439d6388d0bea47157e799309340bf2aef618..01df3ba7e12ac084918f54f67746e0f08948ef91 100644 (file)
--- a/udevdb.c
+++ b/udevdb.c
@@ -179,25 +179,26 @@ static int find_found;
 
 static int find_device_by_name(char *path, struct udevice *dev)
 {
-       int pos, len;
+       char *pos;
+       int len;
 
        if (strncmp(dev->name, find_name, sizeof(dev->name)) == 0) {
                memcpy(find_dev, dev, sizeof(struct udevice));
-               strnfieldcpy(find_path, path, NAME_SIZE);
+               strfieldcpymax(find_path, path, NAME_SIZE);
                find_found = 1;
                /* stop search */
                return 1;
        }
        /* look for matching symlink*/
        foreach_strpart(dev->symlink, " ", pos, len) {
-               if (strncmp(&dev->symlink[pos], find_name, len) != 0)
+               if (strncmp(pos, find_name, len) != 0)
                        continue;
 
                if (len != strlen(find_name))
                        continue;
 
                memcpy(find_dev, dev, sizeof(struct udevice));
-               strnfieldcpy(find_path, path, NAME_SIZE);
+               strfieldcpymax(find_path, path, NAME_SIZE);
                find_found = 1;
                return 1;
        }