int lo, int hi, int pds_flags))
{
char *resource, *cp;
- int digest_len = DIGEST_LEN, enc_digest_len = HEX_DIGEST_LEN;
- const char *sep = "+";
- int b64_256 = 0;
+ int digest_len, enc_digest_len;
+ const char *sep;
+ int b64_256;
smartlist_t *tmp;
if (purpose == DIR_PURPOSE_FETCH_MICRODESC) {
/* Microdescriptors are downloaded by "-"-separated base64-encoded
* 256-bit digests. */
digest_len = DIGEST256_LEN;
- enc_digest_len = BASE64_DIGEST256_LEN;
+ enc_digest_len = BASE64_DIGEST256_LEN + 1;
sep = "-";
b64_256 = 1;
+ } else {
+ digest_len = DIGEST_LEN;
+ enc_digest_len = HEX_DIGEST_LEN + 1;
+ sep = "+";
+ b64_256 = 0;
}
if (lo < 0)
if (hi-lo <= 0)
return;
- digest_len += 1; // for the NULL
tmp = smartlist_new();
for (; lo < hi; ++lo) {