From 9384f00cce18077bb32494489f5b9e37ff5564e3 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Feb 2011 17:45:56 -0300 Subject: [PATCH] busybox: add 1.18.2 modprobe fix Signed-off-by: Gustavo Zacarias Signed-off-by: Peter Korsgaard --- .../busybox-1.18.2-modprobe.patch | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 package/busybox/busybox-1.18.2/busybox-1.18.2-modprobe.patch diff --git a/package/busybox/busybox-1.18.2/busybox-1.18.2-modprobe.patch b/package/busybox/busybox-1.18.2/busybox-1.18.2-modprobe.patch new file mode 100644 index 0000000000..cad887e054 --- /dev/null +++ b/package/busybox/busybox-1.18.2/busybox-1.18.2-modprobe.patch @@ -0,0 +1,20 @@ +--- busybox-1.18.2/modutils/modutils.c ++++ busybox-1.18.2-modprobe/modutils/modutils.c +@@ -71,12 +71,11 @@ char* FAST_FUNC parse_cmdline_module_opt + optlen = 0; + while (*++argv) { + options = xrealloc(options, optlen + 2 + strlen(*argv) + 2); +- /* Older versions were enclosing space-containing *argv in "", +- * but both modprobe and insmod from module-init-tools 3.11.1 +- * don't do this anymore. (As to extra trailing space, +- * insmod adds it but modprobe does not. We do in both cases) +- */ +- optlen += sprintf(options + optlen, "%s ", *argv); ++ /* Spaces handled by "" pairs, but no way of escaping quotes */ ++//TODO: module-init-tools version 3.11.1 quotes only value: ++//it generates var="val with spaces", not "var=val with spaces" ++//(and it won't quote var *name* even if it has spaces) ++ optlen += sprintf(options + optlen, (strchr(*argv, ' ') ? "\"%s\" " : "%s "), *argv); + } + return options; + } -- 2.30.2