Browse Source

Use strtoul to parse length of strings.

master
Richard Nyberg 19 years ago
parent
commit
b0c4f58f10
1 changed files with 5 additions and 11 deletions
  1. +5
    -11
      misc/benc.c

+ 5
- 11
misc/benc.c View File

@@ -133,18 +133,12 @@ benc_mem(const char *p, size_t *len, const char**next)
{ {
if (!benc_isstr(p)) if (!benc_isstr(p))
return NULL; return NULL;
size_t blen = 0; char *endptr;
blen = *p - '0'; size_t blen = strtoul(p, &endptr, 10);
p++; assert(*endptr == ':');
while (isdigit(*p)) {
blen *= 10;
blen += *p - '0';
p++;
}
assert(*p == ':');
benc_safeset(len, blen); benc_safeset(len, blen);
benc_safeset(next, *(p + blen + 1) == 'e' ? NULL : p + blen + 1); benc_safeset(next, *(endptr + blen + 1) == 'e' ? NULL : endptr + blen + 1);
return p + 1; return endptr + 1;
} }


char * char *


||||||
x
 
000:0
Loading…
Cancel
Save