serialize: add serialize_item_base64mem()
This commit is contained in:
@@ -196,6 +196,29 @@ int serialize_item_hexmem(FILE *f, const char *key, const void *p, size_t l) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int serialize_item_base64mem(FILE *f, const char *key, const void *p, size_t l) {
|
||||
_cleanup_free_ char *encoded = NULL;
|
||||
ssize_t len;
|
||||
int r;
|
||||
|
||||
assert(f);
|
||||
assert(key);
|
||||
assert(p || l == 0);
|
||||
|
||||
if (l == 0)
|
||||
return 0;
|
||||
|
||||
len = base64mem(p, l, &encoded);
|
||||
if (len <= 0)
|
||||
return log_oom_debug();
|
||||
|
||||
r = serialize_item(f, key, encoded);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int deserialize_read_line(FILE *f, char **ret) {
|
||||
_cleanup_free_ char *line = NULL;
|
||||
int r;
|
||||
|
||||
@@ -13,6 +13,7 @@ int serialize_item(FILE *f, const char *key, const char *value);
|
||||
int serialize_item_escaped(FILE *f, const char *key, const char *value);
|
||||
int serialize_item_format(FILE *f, const char *key, const char *value, ...) _printf_(3,4);
|
||||
int serialize_item_hexmem(FILE *f, const char *key, const void *p, size_t l);
|
||||
int serialize_item_base64mem(FILE *f, const char *key, const void *p, size_t l);
|
||||
int serialize_fd(FILE *f, FDSet *fds, const char *key, int fd);
|
||||
int serialize_usec(FILE *f, const char *key, usec_t usec);
|
||||
int serialize_dual_timestamp(FILE *f, const char *key, const dual_timestamp *t);
|
||||
|
||||
Reference in New Issue
Block a user