aboutsummaryrefslogtreecommitdiffstats
path: root/tests/serd_test.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-03-17 23:49:10 +0100
committerDavid Robillard <d@drobilla.net>2019-12-19 20:57:52 -0500
commit7aaf7d5187ded5c726ff23ec58b2f8a3d5d158b2 (patch)
treee90da3ee89cac469041fff0fdb4d393724946489 /tests/serd_test.c
parentf03a9cffc2f52d637692210e2a3e96f545972976 (diff)
downloadserd-7aaf7d5187ded5c726ff23ec58b2f8a3d5d158b2.tar.gz
serd-7aaf7d5187ded5c726ff23ec58b2f8a3d5d158b2.tar.bz2
serd-7aaf7d5187ded5c726ff23ec58b2f8a3d5d158b2.zip
Clean up and expose base64 implementation
Diffstat (limited to 'tests/serd_test.c')
-rw-r--r--tests/serd_test.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/tests/serd_test.c b/tests/serd_test.c
index 09eb57ad..65079c5d 100644
--- a/tests/serd_test.c
+++ b/tests/serd_test.c
@@ -279,12 +279,13 @@ test_blob_to_node(void)
data[i] = (uint8_t)(rand() % 256);
}
- size_t out_size;
- SerdNode* blob = serd_new_blob(data, size, size % 5, NULL);
- const char* blob_str = serd_node_get_string(blob);
- uint8_t* out = (uint8_t*)serd_base64_decode(
- blob_str, serd_node_get_length(blob), &out_size);
+ size_t out_size = 0;
+ SerdNode* blob = serd_new_blob(data, size, size % 5, NULL);
+ const char* blob_str = serd_node_get_string(blob);
+ const size_t len = serd_node_get_length(blob);
+ uint8_t* out = (uint8_t*)malloc(serd_base64_decoded_size(len));
+ assert(!serd_base64_decode(out, &out_size, blob_str, len));
assert(serd_node_get_length(blob) == strlen(blob_str));
assert(out_size == size);
@@ -296,7 +297,7 @@ test_blob_to_node(void)
NS_XSD "base64Binary"));
serd_node_free(blob);
- serd_free(out);
+ free(out);
free(data);
}
}