It's a little less efficient, but certainly a lot cleaner to do it this
way. It's not critical code, so I'm happy with this change.
-Corey
Pekka Enberg wrote:
>From: Pekka Enberg <[email protected]>
>
>This patch switches an open-coded strstrip to use the new API.
>
>Cc: Corey Minyard <[email protected]>
>Signed-off-by: Pekka Enberg <[email protected]>
>
>---
>
> drivers/char/ipmi/ipmi_watchdog.c | 25 +++++++++----------------
> 1 files changed, 9 insertions(+), 16 deletions(-)
>
>342eaae5800b0fd002f5101d66ccb02e786016d8
>diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
>index 2d11ddd..8f88671 100644
>--- a/drivers/char/ipmi/ipmi_watchdog.c
>+++ b/drivers/char/ipmi/ipmi_watchdog.c
>@@ -212,24 +212,16 @@ static int set_param_str(const char *val
> {
> action_fn fn = (action_fn) kp->arg;
> int rv = 0;
>- const char *end;
>- char valcp[16];
>- int len;
>-
>- /* Truncate leading and trailing spaces. */
>- while (isspace(*val))
>- val++;
>- end = val + strlen(val) - 1;
>- while ((end >= val) && isspace(*end))
>- end--;
>- len = end - val + 1;
>- if (len > sizeof(valcp) - 1)
>- return -EINVAL;
>- memcpy(valcp, val, len);
>- valcp[len] = '\0';
>+ char *dup, *s;
>+
>+ dup = kstrdup(val, GFP_KERNEL);
>+ if (!dup)
>+ return -ENOMEM;
>+
>+ s = strstrip(dup);
>
> down_read(®ister_sem);
>- rv = fn(valcp, NULL);
>+ rv = fn(s, NULL);
> if (rv)
> goto out_unlock;
>
>@@ -239,6 +231,7 @@ static int set_param_str(const char *val
>
> out_unlock:
> up_read(®ister_sem);
>+ kfree(dup);
> return rv;
> }
>
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]