From: Yu Watanabe Date: Tue, 30 Apr 2019 17:18:33 +0000 (+0200) Subject: udev: pass format type to udev_event_subst_format() X-Git-Tag: v243-rc1~328^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef315adaa4199a2fd03e61744b434724baf8bdb3;p=thirdparty%2Fsystemd.git udev: pass format type to udev_event_subst_format() --- diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c index 312053e88d3..19ae017d829 100644 --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c @@ -134,18 +134,19 @@ static const struct subst_map_entry map[] = { { .name = "sys", .fmt = 'S', .type = FORMAT_SUBST_SYS }, }; -static ssize_t subst_format_var(UdevEvent *event, - const struct subst_map_entry *entry, char *attr, - char *dest, size_t l) { +static ssize_t udev_event_subst_format( + UdevEvent *event, + FormatSubstitutionType type, + const char *attr, + char *dest, + size_t l) { sd_device *parent, *dev = event->dev; const char *val = NULL; char *s = dest; dev_t devnum; int r; - assert(entry); - - switch (entry->type) { + switch (type) { case FORMAT_SUBST_DEVPATH: r = sd_device_get_devpath(dev, &val); if (r < 0) @@ -191,7 +192,7 @@ static ssize_t subst_format_var(UdevEvent *event, r = sd_device_get_devnum(dev, &devnum); if (r < 0 && r != -ENOENT) return r; - xsprintf(buf, "%u", r < 0 ? 0 : entry->type == FORMAT_SUBST_MAJOR ? major(devnum) : minor(devnum)); + xsprintf(buf, "%u", r < 0 ? 0 : type == FORMAT_SUBST_MAJOR ? major(devnum) : minor(devnum)); l = strpcpy(&s, l, buf); break; } @@ -429,7 +430,7 @@ subst: } else attr = NULL; - subst_len = subst_format_var(event, entry, attr, s, l); + subst_len = udev_event_subst_format(event, entry->type, attr, s, l); if (subst_len < 0) { if (format_dollar) log_device_warning_errno(event->dev, subst_len, "Failed to substitute variable '$%s', ignoring: %m", entry->name);