Skip to contentSkip to conversation

small lib/parser.c cleanup

PATCH New Martin Peschke 1 participant 1 message Mar 6, 2007 Library code

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 small lib/parser.c cleanup

simplifying code by using available string duplication function

---

 parser.c |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
lib/parser.c +2 -6
Index: linux/lib/parser.c
===================================================================
@@ -126,11 +126,9 @@ static int match_number(substring_t *s, 
 	char *buf;
 	int ret;
 
-	buf = kmalloc(s->to - s->from + 1, GFP_KERNEL);
+	buf = match_strdup(s);
 	if (!buf)
 		return -ENOMEM;
-	memcpy(buf, s->from, s->to - s->from);
-	buf[s->to - s->from] = '\0';
 	*result = simple_strtol(buf, &endp, base);
 	ret = 0;
 	if (endp == buf)
@@ -155,11 +153,9 @@ int match_s64(substring_t *s, s64 *resul
 	char *buf;
 	int ret;
 
-	buf = kmalloc(s->to - s->from + 1, GFP_KERNEL);
+	buf = match_strdup(s);
 	if (!buf)
 		return -ENOMEM;
-	memcpy(buf, s->from, s->to - s->from);
-	buf[s->to - s->from] = '\0';
 	*result = simple_strtoll(buf, &endp, base);
 	ret = 0;
 	if (endp == buf)