From 6d93eeb7c8b3cfa104ed2247fa457fbb55b3f1e1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 23 Sep 2018 15:49:49 +0900 Subject: [PATCH] udev-builtin: replace udev_build_argv() by strv_split_extract() --- src/udev/udev-builtin.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index be7e995933f..956dc30ed29 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -102,18 +102,18 @@ enum udev_builtin_cmd udev_builtin_lookup(const char *command) { } int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const char *command, bool test) { - char arg[UTIL_PATH_SIZE]; - int argc; - char *argv[128]; + _cleanup_strv_free_ char **argv = NULL; if (!builtins[cmd]) return -EOPNOTSUPP; + argv = strv_split_full(command, NULL, SPLIT_QUOTES | SPLIT_RELAX); + if (!argv) + return -ENOMEM; + /* we need '0' here to reset the internal state */ optind = 0; - strscpy(arg, sizeof(arg), command); - udev_build_argv(arg, &argc, argv); - return builtins[cmd]->cmd(dev, argc, argv, test); + return builtins[cmd]->cmd(dev, strv_length(argv), argv, test); } int udev_builtin_add_property(struct udev_device *dev, bool test, const char *key, const char *val) { -- 2.47.3