in src/main.c [147:171]
int get(const char *hashfile, const char *logfile, const char *key) {
sparkey_hashreader *reader;
sparkey_logreader *logreader;
sparkey_logiter *iter;
assert(sparkey_hash_open(&reader, hashfile, logfile));
logreader = sparkey_hash_getreader(reader);
assert(sparkey_logiter_create(&iter, logreader));
uint64_t keylen = strlen(key);
assert(sparkey_hash_get(reader, (uint8_t*) key, keylen, iter));
int exitcode = 2;
if (sparkey_logiter_state(iter) == SPARKEY_ITER_ACTIVE) {
exitcode = 0;
uint8_t * res;
uint64_t len;
do {
assert(sparkey_logiter_valuechunk(iter, logreader, 1 << 31, &res, &len));
assert(write_full(STDOUT_FILENO, res, len));
} while (len > 0);
}
sparkey_logiter_close(&iter);
sparkey_hash_close(&reader);
return exitcode;
}