diff options
| author | Richard Nyberg <rnyberg@murmeldjur.se> | 2006-02-06 20:43:14 +0000 |
|---|---|---|
| committer | Richard Nyberg <rnyberg@murmeldjur.se> | 2006-02-06 20:43:14 +0000 |
| commit | af64140b1f8e2428e363bdc51e57153f0efb8be5 (patch) | |
| tree | a79652b51b221b8625d7af94b4b913692581d170 /misc/benc.c | |
| parent | 8fd51e90b3a870e2f4dc7afbff15b06a49589ab4 (diff) | |
| download | btpd-af64140b1f8e2428e363bdc51e57153f0efb8be5.tar.gz btpd-af64140b1f8e2428e363bdc51e57153f0efb8be5.zip | |
Remove som unused code I commited by mistake. Replace integer parse code
in benc_int with a call to strtoll.
Diffstat (limited to 'misc/benc.c')
| -rw-r--r-- | misc/benc.c | 99 |
1 files changed, 5 insertions, 94 deletions
diff --git a/misc/benc.c b/misc/benc.c index 6a57e2e..96fdd34 100644 --- a/misc/benc.c +++ b/misc/benc.c @@ -181,26 +181,13 @@ benc_mema(const char *p, size_t *len, const char **next) long long benc_int(const char *p, const char **next) { - int sign = 1; - long long res = 0; - + long long res; + char *endptr; if (!benc_isint(p)) return 0; - p++; - if (*p == '-') { - sign = -1; - p++; - } - assert(isdigit(*p)); - res += sign * (*p - '0'); - p++; - while (isdigit(*p)) { - res *= sign * 10; - res += sign * (*p - '0'); - p++; - } - assert(*p == 'e'); - benc_safeset(next, *(p + 1) == 'e' ? NULL : p + 1); + res = strtoll(p + 1, &endptr, 10); + assert(*endptr == 'e'); + benc_safeset(next, *(endptr + 1) == 'e' ? NULL : endptr + 1); return res; } @@ -350,79 +337,3 @@ benc_dct_chk(const char *p, int count, ...) va_end(ap); return ok; } - -#if 0 -int -benc_dct_type_check(const char *p, int count, ...) -{ - int i; - va_list ap; - - benc_validate_dct(p, 2, BE_INT, "code", BE_STR, "hash", - - if (!benc_isdct(p)) - return EINVAL; - - va_start(ap, count); - for (i = 0; i < count; i++) { - - - } -} - -int -benc_dget_many(const char *p, int count, ...) -{ - int i; - va_list ap; - if (!benc_isdct(p)) - return 0; - va_start(ap, count); - for (i = 0; i < count; i++) { - const char *name = va_arg(ap, const char *); - enum be_type type = va_arg(ap, enum be_type); - int64_t *iret; - size_t *lret; - const char **mret; - char **aret; - - switch (type) { - case BE_INT: - iret = va_arg(ap, int64_t *); - if (benc_dget_int64(p, name, iret) != 0) - goto out; - break; - case BE_LST: - mret = va_arg(ap, const char **); - lret = va_arg(ap, size_t *); - if (benc_dget_lst(p, name, mret) != 0) - goto out; - if (lret != NULL) - *lret = benc_nelems(*mret); - break; - case BE_DCT: - mret = va_arg(ap, const char **); - if (benc_dget_dct(p, name, mret) != 0) - goto out; - break; - case BE_MEM: - mret = va_arg(ap, const char **); - lret = va_arg(ap, size_t *); - if (benc_dget_str(p, name, mret, lret) != 0) - goto out; - break; - case BE_STRZ: - aret = va_arg(ap, char **); - lret = va_arg(ap, size_t *); - if (benc_dget_strz(p, name, aret, lret) != 0) - goto out; - break; - default: - abort(); - } - } -out: - va_end(ap); - return i; -} -#endif |