json: add json_variant_unbase64() helper

This commit is contained in:
Lennart Poettering 2019-06-28 20:05:21 +02:00
parent 0b1f2e8a06
commit faca141c5f
2 changed files with 10 additions and 0 deletions

View File

@ -4120,6 +4120,14 @@ bool json_variant_is_sorted(JsonVariant *v) {
return v->sorted;
}
int json_variant_unbase64(JsonVariant *v, void **ret, size_t *ret_size) {
if (!json_variant_is_string(v))
return -EINVAL;
return unbase64mem(json_variant_string(v), (size_t) -1, ret, ret_size);
}
static const char* const json_variant_type_table[_JSON_VARIANT_TYPE_MAX] = {
[JSON_VARIANT_STRING] = "string",
[JSON_VARIANT_INTEGER] = "integer",

View File

@ -324,5 +324,7 @@ int json_log_internal(JsonVariant *variant, int level, int error, const char *fi
(JsonVariant*) ((uintptr_t) UNIQ_T(json_string_const, xq) + 1); \
})
int json_variant_unbase64(JsonVariant *v, void **ret, size_t *ret_size);
const char *json_variant_type_to_string(JsonVariantType t);
JsonVariantType json_variant_type_from_string(const char *s);