Skip to content

Commit b783d63

Browse files
committed
Added new pk_encode_value
1 parent f07968a commit b783d63

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

src/pk.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,3 +387,14 @@ char *pk_encode (dbvalue_t **argv, int argc, char *b, bool is_prikey, size_t *bs
387387
char *pk_encode_prikey (dbvalue_t **argv, int argc, char *b, size_t *bsize) {
388388
return pk_encode(argv, argc, b, true, bsize);
389389
}
390+
391+
char *pk_encode_value (dbvalue_t *value, size_t *bsize) {
392+
dbvalue_t *argv[1] = {value};
393+
394+
size_t blen = pk_encode_size(argv, 1, 0);
395+
char *buffer = cloudsync_memory_alloc((uint64_t)blen);
396+
if (!buffer) return NULL;
397+
398+
*bsize = blen;
399+
return pk_encode(argv, 1, buffer, false, bsize);
400+
}

src/pk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
typedef int (*pk_decode_callback) (void *xdata, int index, int type, int64_t ival, double dval, char *pval);
1717

1818
char *pk_encode_prikey (dbvalue_t **argv, int argc, char *b, size_t *bsize);
19+
char *pk_encode_value (dbvalue_t *value, size_t *bsize);
1920
char *pk_encode (dbvalue_t **argv, int argc, char *b, bool is_prikey, size_t *bsize);
2021
int pk_decode_prikey (char *buffer, size_t blen, int (*cb) (void *xdata, int index, int type, int64_t ival, double dval, char *pval), void *xdata);
2122
int pk_decode(char *buffer, size_t blen, int count, size_t *seek, pk_decode_callback cb, void *xdata);

0 commit comments

Comments
 (0)