fileio: accept FILE* in addition to path in parse_env_file()

Most our other parsing functions do this, let's do this here too,
internally we accept that anyway. Also, the closely related
load_env_file() and load_env_file_pairs() also do this, so let's be
systematic.
This commit is contained in:
Lennart Poettering
2018-05-24 17:01:57 +02:00
parent e2047ba9ed
commit 1a5a177eaf
29 changed files with 54 additions and 53 deletions
+2 -1
View File
@@ -677,6 +677,7 @@ static int parse_env_file_push(
}
int parse_env_file(
FILE *f,
const char *fname,
const char *newline, ...) {
@@ -687,7 +688,7 @@ int parse_env_file(
newline = NEWLINE;
va_start(ap, newline);
r = parse_env_file_internal(NULL, fname, newline, parse_env_file_push, &ap, &n_pushed);
r = parse_env_file_internal(f, fname, newline, parse_env_file_push, &ap, &n_pushed);
va_end(ap);
return r < 0 ? r : n_pushed;
+1 -1
View File
@@ -45,7 +45,7 @@ int read_full_stream(FILE *f, char **contents, size_t *size);
int verify_file(const char *fn, const char *blob, bool accept_extra_nl);
int parse_env_file(const char *fname, const char *separator, ...) _sentinel_;
int parse_env_file(FILE *f, const char *fname, const char *separator, ...) _sentinel_;
int load_env_file(FILE *f, const char *fname, const char *separator, char ***l);
int load_env_file_pairs(FILE *f, const char *fname, const char *separator, char ***l);
+1 -1
View File
@@ -264,7 +264,7 @@ int container_get_leader(const char *machine, pid_t *pid) {
return -EINVAL;
p = strjoina("/run/systemd/machines/", machine);
r = parse_env_file(p, NEWLINE, "LEADER", &s, "CLASS", &class, NULL);
r = parse_env_file(NULL, p, NEWLINE, "LEADER", &s, "CLASS", &class, NULL);
if (r == -ENOENT)
return -EHOSTDOWN;
if (r < 0)