in src/logreader.c [384:399]
sparkey_returncode sparkey_logiter_fill_key(sparkey_logiter *iter, sparkey_logreader *log, uint64_t maxlen, uint8_t *buf, uint64_t *len) {
*len = 0;
while (maxlen > 0) {
uint8_t *buf2;
uint64_t len2;
RETHROW(sparkey_logiter_keychunk(iter, log, maxlen, &buf2, &len2));
if (len2 == 0) {
return SPARKEY_SUCCESS;
}
memcpy(buf, buf2, len2);
buf += len2;
*len += len2;
maxlen -= len2;
}
return SPARKEY_SUCCESS;
}