- /* directory with device name */
- util_strlcpy(filename, udev_get_dev_path(udev), sizeof(filename));
- start = util_strlcat(filename, "/.udev/names/", sizeof(filename));
- util_strlcat(filename, &name[devlen], sizeof(filename));
- util_path_encode(&filename[start], sizeof(filename) - start);
- /* entry with the devpath */
- util_strlcpy(device, devpath, sizeof(device));
- util_path_encode(device, sizeof(device));
- util_strlcat(filename, "/", sizeof(filename));
- util_strlcat(filename, device, sizeof(filename));
+ util_path_encode(&name[strlen(udev_get_dev_path(udev))+1], name_enc, sizeof(name_enc));
+ util_path_encode(devpath, devpath_enc, sizeof(devpath_enc));
+ util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev),
+ "/.udev/names/", name_enc, "/", devpath_enc, NULL);