X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Flib%2Flibudev-util.c;h=0ff121d774e12701c1f4fb822689222643bae4e7;hb=8460299b572eb13e7b97a0956b59c053f9009afa;hp=6ec835e62445695dc05a4432819e6a09102f5007;hpb=279595bd1af86db92b063ac8b70c7ef51c67363c;p=elogind.git diff --git a/udev/lib/libudev-util.c b/udev/lib/libudev-util.c index 6ec835e62..0ff121d77 100644 --- a/udev/lib/libudev-util.c +++ b/udev/lib/libudev-util.c @@ -17,8 +17,6 @@ * along with this program. If not, see . */ -#include "config.h" - #include #include #include @@ -33,7 +31,7 @@ #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; @@ -51,7 +49,7 @@ static ssize_t get_sys_link(struct udev *udev, const char *slink, const char *sy 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) @@ -94,61 +92,6 @@ int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size) return 0; } -struct util_name_entry *util_name_list_add(struct udev *udev, struct list_head *name_list, - const char *name, const char *value, int sort) -{ - struct util_name_entry *name_loop; - struct util_name_entry *name_new; - - /* avoid duplicate entries */ - list_for_each_entry(name_loop, name_list, node) { - if (strcmp(name_loop->name, name) == 0) { - dbg(udev, "'%s' is already in the list\n", name); - return name_loop; - } - } - - if (sort) { - list_for_each_entry(name_loop, name_list, node) { - if (strcmp(name_loop->name, name) > 0) - break; - } - } - - name_new = malloc(sizeof(struct util_name_entry)); - if (name_new == NULL) - return NULL; - memset(name_new, 0x00, sizeof(struct util_name_entry)); - name_new->name = strdup(name); - if (name_new->name == NULL) { - free(name_new); - return NULL; - } - if (value != NULL) { - name_new->value = strdup(value); - if (name_new->value == NULL) { - free(name_new); - return NULL; - } - } - dbg(udev, "adding '%s=%s'\n", name_new->name, name_new->value); - list_add_tail(&name_new->node, &name_loop->node); - return name_new; -} - -void util_name_list_cleanup(struct udev *udev, struct list_head *name_list) -{ - struct util_name_entry *name_loop; - struct util_name_entry *name_tmp; - - list_for_each_entry_safe(name_loop, name_tmp, name_list, node) { - list_del(&name_loop->node); - free(name_loop->name); - free(name_loop->value); - free(name_loop); - } -} - int util_log_priority(const char *priority) { char *endptr;