env: add load_env_file_pairs_fd()

This commit is contained in:
Luca Boccassi
2023-03-28 10:36:01 +01:00
parent 19279652c0
commit 6255bbe262
4 changed files with 39 additions and 20 deletions
+14
View File
@@ -478,6 +478,7 @@ int load_env_file_pairs(FILE *f, const char *fname, char ***ret) {
int r;
assert(f || fname);
assert(ret);
r = parse_env_file_internal(f, fname, load_env_file_push_pairs, &m);
if (r < 0)
@@ -487,6 +488,19 @@ int load_env_file_pairs(FILE *f, const char *fname, char ***ret) {
return 0;
}
int load_env_file_pairs_fd(int fd, const char *fname, char ***ret) {
_cleanup_fclose_ FILE *f = NULL;
int r;
assert(fd >= 0);
r = fdopen_independent(fd, "re", &f);
if (r < 0)
return r;
return load_env_file_pairs(f, fname, ret);
}
static int merge_env_file_push(
const char *filename, unsigned line,
const char *key, char *value,