From 408249b34b26801f604b6574e07168ae9aadfeea Mon Sep 17 00:00:00 2001 From: illiliti Date: Sun, 16 Aug 2020 12:53:13 +0300 Subject: [PATCH] simplify key=val parsing --- udev_device.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/udev_device.c b/udev_device.c index a217c94..7256df5 100644 --- a/udev_device.c +++ b/udev_device.c @@ -282,7 +282,7 @@ static char *udev_device_read_symlink(struct udev_device *udev_device, const cha static void udev_device_set_properties_from_uevent(struct udev_device *udev_device) { char line[LINE_MAX], path[PATH_MAX]; - char *key, *val, devnode[PATH_MAX]; + char *pos, devnode[PATH_MAX]; FILE *file; snprintf(path, sizeof(path), "%s/uevent", udev_device_get_syspath(udev_device)); @@ -299,12 +299,9 @@ static void udev_device_set_properties_from_uevent(struct udev_device *udev_devi snprintf(devnode, sizeof(devnode), "/dev/%s", line + 8); udev_list_entry_add(&udev_device->properties, "DEVNAME", devnode, 1); } - else if (strchr(line, '=')) { - val = strchr(line, '=') + 1; - key = line; - key[strcspn(key, "=")] = '\0'; - - udev_list_entry_add(&udev_device->properties, key, val, 1); + else if ((pos = strchr(line, '='))) { + *pos = '\0'; + udev_list_entry_add(&udev_device->properties, line, pos + 1, 1); } } @@ -553,8 +550,8 @@ struct udev_device *udev_device_new_from_file(struct udev *udev, const char *pat char line[LINE_MAX], tmp[PATH_MAX]; char *subsystem, *driver, *sysname; struct udev_device *udev_device; - char *key, *val; FILE *file; + char *pos; int i; udev_device = calloc(1, sizeof(struct udev_device)); @@ -598,12 +595,9 @@ struct udev_device *udev_device_new_from_file(struct udev *udev, const char *pat snprintf(tmp, sizeof(tmp), "/dev/%s", line + 8); udev_list_entry_add(&udev_device->properties, "DEVNAME", tmp, 0); } - else if (strchr(line, '=')) { - val = strchr(line, '=') + 1; - key = line; - key[strcspn(key, "=")] = '\0'; - - udev_list_entry_add(&udev_device->properties, key, val, 1); + else if ((pos = strchr(line, '='))) { + *pos = '\0'; + udev_list_entry_add(&udev_device->properties, line, pos + 1, 1); } }