From b0c4f58f10f547e3f3e35a321b4fd9fb6fa979d4 Mon Sep 17 00:00:00 2001 From: Richard Nyberg Date: Wed, 8 Feb 2006 16:37:32 +0000 Subject: Use strtoul to parse length of strings. --- misc/benc.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'misc') diff --git a/misc/benc.c b/misc/benc.c index 96fdd34..5f25769 100644 --- a/misc/benc.c +++ b/misc/benc.c @@ -133,18 +133,12 @@ benc_mem(const char *p, size_t *len, const char**next) { if (!benc_isstr(p)) return NULL; - size_t blen = 0; - blen = *p - '0'; - p++; - while (isdigit(*p)) { - blen *= 10; - blen += *p - '0'; - p++; - } - assert(*p == ':'); + char *endptr; + size_t blen = strtoul(p, &endptr, 10); + assert(*endptr == ':'); benc_safeset(len, blen); - benc_safeset(next, *(p + blen + 1) == 'e' ? NULL : p + blen + 1); - return p + 1; + benc_safeset(next, *(endptr + blen + 1) == 'e' ? NULL : endptr + blen + 1); + return endptr + 1; } char * -- cgit 1.4.1