json: add new helper json_variant_new_base64()

This commit is contained in:
Lennart Poettering
2019-12-02 09:47:00 +01:00
parent b7fc90a2e6
commit cc164891da
2 changed files with 15 additions and 0 deletions
+14
View File
@@ -411,6 +411,20 @@ int json_variant_new_stringn(JsonVariant **ret, const char *s, size_t n) {
return 0;
}
int json_variant_new_base64(JsonVariant **ret, const void *p, size_t n) {
_cleanup_free_ char *s = NULL;
ssize_t k;
assert_return(ret, -EINVAL);
assert_return(n == 0 || p, -EINVAL);
k = base64mem(p, n, &s);
if (k < 0)
return k;
return json_variant_new_stringn(ret, s, k);
}
static void json_variant_set(JsonVariant *a, JsonVariant *b) {
assert(a);
+1
View File
@@ -55,6 +55,7 @@ typedef enum JsonVariantType {
} JsonVariantType;
int json_variant_new_stringn(JsonVariant **ret, const char *s, size_t n);
int json_variant_new_base64(JsonVariant **ret, const void *p, size_t n);
int json_variant_new_integer(JsonVariant **ret, intmax_t i);
int json_variant_new_unsigned(JsonVariant **ret, uintmax_t u);
int json_variant_new_real(JsonVariant **ret, long double d);