소스 검색

[PATCH] ipmi: strstrip conversion

Switch an open-coded strstrip() to use the new API.

Acked-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Pekka Enberg 19 년 전
부모
커밋
66f969d064
1개의 변경된 파일9개의 추가작업 그리고 16개의 파일을 삭제
  1. 9 16
      drivers/char/ipmi/ipmi_watchdog.c

+ 9 - 16
drivers/char/ipmi/ipmi_watchdog.c

@@ -212,24 +212,16 @@ static int set_param_str(const char *val, struct kernel_param *kp)
 {
 {
 	action_fn  fn = (action_fn) kp->arg;
 	action_fn  fn = (action_fn) kp->arg;
 	int        rv = 0;
 	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(&register_sem);
 	down_read(&register_sem);
-	rv = fn(valcp, NULL);
+	rv = fn(s, NULL);
 	if (rv)
 	if (rv)
 		goto out_unlock;
 		goto out_unlock;
 
 
@@ -239,6 +231,7 @@ static int set_param_str(const char *val, struct kernel_param *kp)
 
 
  out_unlock:
  out_unlock:
 	up_read(&register_sem);
 	up_read(&register_sem);
+	kfree(dup);
 	return rv;
 	return rv;
 }
 }