X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udevdb.c;h=01df3ba7e12ac084918f54f67746e0f08948ef91;hb=d1fb871d99db38c7704d8e583ff5e0a00e713837;hp=22d439d6388d0bea47157e799309340bf2aef618;hpb=9fe3f9a9389bb06cf645d33cbb2b45e1f63d737c;p=elogind.git diff --git a/udevdb.c b/udevdb.c index 22d439d63..01df3ba7e 100644 --- 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; }