fileio: add new helper write_base64_file_at() which encodes a binary object into base64 and writes it to a file

This commit is contained in:
Lennart Poettering
2024-06-14 22:50:33 +01:00
committed by Luca Boccassi
parent 73fade298a
commit dc163cd40b
3 changed files with 21 additions and 8 deletions
+16
View File
@@ -355,6 +355,22 @@ int write_string_filef(
return write_string_file(fn, p, flags);
}
int write_base64_file_at(
int dir_fd,
const char *fn,
const struct iovec *data,
WriteStringFileFlags flags) {
_cleanup_free_ char *encoded = NULL;
ssize_t n;
n = base64mem_full(data ? data->iov_base : NULL, data ? data->iov_len : 0, 79, &encoded);
if (n < 0)
return n;
return write_string_file_at(dir_fd, fn, encoded, flags);
}
int read_one_line_file_at(int dir_fd, const char *filename, char **ret) {
_cleanup_fclose_ FILE *f = NULL;
int r;