revert commit 1396221d5a741ef8e1e8abca88836b341a3cab84
No binary (build failed)
—
(log yok)
| @@ -71,12 +71,11 @@ char* FAST_FUNC parse_cmdline_module_options(char **argv) | |
| 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; | |
| } | |