[PATCH] Ignore trailing whitespace on kernel parameters correctly

Dave Jones says:

... if the modprobe.conf has trailing whitespace, modules fail to load
with the following helpful message..

	snd_intel8x0: Unknown parameter `'

Previous version truncated last argument.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Rusty Russell 2005-09-27 21:45:34 -07:00 committed by Linus Torvalds
parent e3306dd5f7
commit f36462f078

View file

@ -80,8 +80,6 @@ static char *next_arg(char *args, char **param, char **val)
int in_quote = 0, quoted = 0; int in_quote = 0, quoted = 0;
char *next; char *next;
/* Chew any extra spaces */
while (*args == ' ') args++;
if (*args == '"') { if (*args == '"') {
args++; args++;
in_quote = 1; in_quote = 1;
@ -121,6 +119,10 @@ static char *next_arg(char *args, char **param, char **val)
next = args + i + 1; next = args + i + 1;
} else } else
next = args + i; next = args + i;
/* Chew up trailing spaces. */
while (*next == ' ')
next++;
return next; return next;
} }
@ -135,6 +137,10 @@ int parse_args(const char *name,
DEBUGP("Parsing ARGS: %s\n", args); DEBUGP("Parsing ARGS: %s\n", args);
/* Chew leading spaces */
while (*args == ' ')
args++;
while (*args) { while (*args) {
int ret; int ret;