* [PATCH] Don't turn - to _ when parsing params
@ 2003-01-29 7:57 Rusty Russell
0 siblings, 0 replies; only message in thread
From: Rusty Russell @ 2003-01-29 7:57 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel
.... since they might not be boot parameters afterall (and hence need
to get passed to init or the environment intact).
Thanks,
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
Name: Avoid mangling - in parameters
Author: Rusty Russell
Status: Trivial (tested in userspace framework)
D: Mikael Pettersson points out that "-s" gets mangled to "_s" on the
D: kernel command line, even though it turns out not to be a
D: parameter.
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.5.59/kernel/params.c working-2.5.59-underscore/kernel/params.c
--- linux-2.5.59/kernel/params.c 2003-01-02 14:48:01.000000000 +1100
+++ working-2.5.59-underscore/kernel/params.c 2003-01-21 18:16:05.000000000 +1100
@@ -27,6 +27,22 @@
#define DEBUGP(fmt, a...)
#endif
+static inline int dash2underscore(char c)
+{
+ if (c == '-')
+ return '_';
+ return c;
+}
+
+static inline int parameq(const char *input, const char *paramname)
+{
+ unsigned int i;
+ for (i = 0; dash2underscore(input[i]) == paramname[i]; i++)
+ if (input[i] == '\0')
+ return 1;
+ return 0;
+}
+
static int parse_one(char *param,
char *val,
struct kernel_param *params,
@@ -37,7 +53,7 @@ static int parse_one(char *param,
/* Find parameter */
for (i = 0; i < num_params; i++) {
- if (strcmp(param, params[i].name) == 0) {
+ if (parameq(param, params[i].name)) {
DEBUGP("They are equal! Calling %p\n",
params[i].set);
return params[i].set(val, ¶ms[i]);
@@ -69,8 +85,6 @@ static char *next_arg(char *args, char *
if (equals == 0) {
if (args[i] == '=')
equals = i;
- else if (args[i] == '-')
- args[i] = '_';
}
if (args[i] == '"')
in_quote = !in_quote;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-01-29 7:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-29 7:57 [PATCH] Don't turn - to _ when parsing params Rusty Russell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®