#include "libudev.h"
#include "libudev-private.h"
-static ssize_t get_sys_link(struct udev *udev, const char *slink, const char *syspath, char *subsystem, size_t size)
+static ssize_t get_sys_link(struct udev *udev, const char *slink, const char *syspath, char *value, size_t size)
{
char path[UTIL_PATH_SIZE];
ssize_t len;
return -1;
pos = &pos[1];
info(udev, "resolved link to: '%s'\n", pos);
- return util_strlcpy(subsystem, pos, size);
+ return util_strlcpy(value, pos, size);
}
ssize_t util_get_sys_subsystem(struct udev *udev, const char *syspath, char *subsystem, size_t size)
int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size)
{
- struct stat statbuf;
char link_target[UTIL_PATH_SIZE];
int len;
int i;
int back;
- if (lstat(syspath, &statbuf) < 0)
- return -1;
- if (!S_ISLNK(statbuf.st_mode))
- return -1;
len = readlink(syspath, link_target, sizeof(link_target));
if (len <= 0)
return -1;