- if (res != 0) {
- fprintf(stderr, "BDB read failure: %s\n", db_strerror(res));
- } else {
- async->data = bluesky_string_new(value.data, value.size);
- async->result = 0;
- }
+ async->result = res;
+ async->data = NULL;
+
+ if (res != 0) {
+ fprintf(stderr, "BDB read failure: %s\n", db_strerror(res));
+ } else {
+ async->data = bluesky_string_new(value.data, value.size);
+ async->result = 0;
+ }
+
+ } else if (async->op == STORE_OP_PUT) {
+ value.data = async->data->data;
+ value.size = async->data->len;