fileio: drop "newline" parameter for env file parsers
Now that we don't (mis-)use the env file parser to parse kernel command lines there's no need anymore to override the used newline character set. Let's hence drop the argument and just "\n\r" always. This nicely simplifies our code.
This commit is contained in:
parent
01771226c2
commit
aa8fbc74e3
|
@ -242,7 +242,7 @@ static int gather_environment_generate(int fd, void *arg) {
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = load_env_file_pairs(f, NULL, NULL, &new);
|
r = load_env_file_pairs(f, NULL, &new);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
|
|
@ -368,7 +368,6 @@ int read_full_file(const char *fn, char **contents, size_t *size) {
|
||||||
static int parse_env_file_internal(
|
static int parse_env_file_internal(
|
||||||
FILE *f,
|
FILE *f,
|
||||||
const char *fname,
|
const char *fname,
|
||||||
const char *newline,
|
|
||||||
int (*push) (const char *filename, unsigned line,
|
int (*push) (const char *filename, unsigned line,
|
||||||
const char *key, char *value, void *userdata, int *n_pushed),
|
const char *key, char *value, void *userdata, int *n_pushed),
|
||||||
void *userdata,
|
void *userdata,
|
||||||
|
@ -394,8 +393,6 @@ static int parse_env_file_internal(
|
||||||
COMMENT_ESCAPE
|
COMMENT_ESCAPE
|
||||||
} state = PRE_KEY;
|
} state = PRE_KEY;
|
||||||
|
|
||||||
assert(newline);
|
|
||||||
|
|
||||||
if (f)
|
if (f)
|
||||||
r = read_full_stream(f, &contents, NULL);
|
r = read_full_stream(f, &contents, NULL);
|
||||||
else
|
else
|
||||||
|
@ -423,7 +420,7 @@ static int parse_env_file_internal(
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY:
|
case KEY:
|
||||||
if (strchr(newline, c)) {
|
if (strchr(NEWLINE, c)) {
|
||||||
state = PRE_KEY;
|
state = PRE_KEY;
|
||||||
line++;
|
line++;
|
||||||
n_key = 0;
|
n_key = 0;
|
||||||
|
@ -445,7 +442,7 @@ static int parse_env_file_internal(
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PRE_VALUE:
|
case PRE_VALUE:
|
||||||
if (strchr(newline, c)) {
|
if (strchr(NEWLINE, c)) {
|
||||||
state = PRE_KEY;
|
state = PRE_KEY;
|
||||||
line++;
|
line++;
|
||||||
key[n_key] = 0;
|
key[n_key] = 0;
|
||||||
|
@ -483,7 +480,7 @@ static int parse_env_file_internal(
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VALUE:
|
case VALUE:
|
||||||
if (strchr(newline, c)) {
|
if (strchr(NEWLINE, c)) {
|
||||||
state = PRE_KEY;
|
state = PRE_KEY;
|
||||||
line++;
|
line++;
|
||||||
|
|
||||||
|
@ -528,7 +525,7 @@ static int parse_env_file_internal(
|
||||||
case VALUE_ESCAPE:
|
case VALUE_ESCAPE:
|
||||||
state = VALUE;
|
state = VALUE;
|
||||||
|
|
||||||
if (!strchr(newline, c)) {
|
if (!strchr(NEWLINE, c)) {
|
||||||
/* Escaped newlines we eat up entirely */
|
/* Escaped newlines we eat up entirely */
|
||||||
if (!GREEDY_REALLOC(value, value_alloc, n_value+2))
|
if (!GREEDY_REALLOC(value, value_alloc, n_value+2))
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -554,7 +551,7 @@ static int parse_env_file_internal(
|
||||||
case SINGLE_QUOTE_VALUE_ESCAPE:
|
case SINGLE_QUOTE_VALUE_ESCAPE:
|
||||||
state = SINGLE_QUOTE_VALUE;
|
state = SINGLE_QUOTE_VALUE;
|
||||||
|
|
||||||
if (!strchr(newline, c)) {
|
if (!strchr(NEWLINE, c)) {
|
||||||
if (!GREEDY_REALLOC(value, value_alloc, n_value+2))
|
if (!GREEDY_REALLOC(value, value_alloc, n_value+2))
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -579,7 +576,7 @@ static int parse_env_file_internal(
|
||||||
case DOUBLE_QUOTE_VALUE_ESCAPE:
|
case DOUBLE_QUOTE_VALUE_ESCAPE:
|
||||||
state = DOUBLE_QUOTE_VALUE;
|
state = DOUBLE_QUOTE_VALUE;
|
||||||
|
|
||||||
if (!strchr(newline, c)) {
|
if (!strchr(NEWLINE, c)) {
|
||||||
if (!GREEDY_REALLOC(value, value_alloc, n_value+2))
|
if (!GREEDY_REALLOC(value, value_alloc, n_value+2))
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -590,7 +587,7 @@ static int parse_env_file_internal(
|
||||||
case COMMENT:
|
case COMMENT:
|
||||||
if (c == '\\')
|
if (c == '\\')
|
||||||
state = COMMENT_ESCAPE;
|
state = COMMENT_ESCAPE;
|
||||||
else if (strchr(newline, c)) {
|
else if (strchr(NEWLINE, c)) {
|
||||||
state = PRE_KEY;
|
state = PRE_KEY;
|
||||||
line++;
|
line++;
|
||||||
}
|
}
|
||||||
|
@ -699,17 +696,13 @@ static int parse_env_file_push(
|
||||||
int parse_env_filev(
|
int parse_env_filev(
|
||||||
FILE *f,
|
FILE *f,
|
||||||
const char *fname,
|
const char *fname,
|
||||||
const char *newline,
|
|
||||||
va_list ap) {
|
va_list ap) {
|
||||||
|
|
||||||
int r, n_pushed = 0;
|
int r, n_pushed = 0;
|
||||||
va_list aq;
|
va_list aq;
|
||||||
|
|
||||||
if (!newline)
|
|
||||||
newline = NEWLINE;
|
|
||||||
|
|
||||||
va_copy(aq, ap);
|
va_copy(aq, ap);
|
||||||
r = parse_env_file_internal(f, fname, newline, parse_env_file_push, &aq, &n_pushed);
|
r = parse_env_file_internal(f, fname, parse_env_file_push, &aq, &n_pushed);
|
||||||
va_end(aq);
|
va_end(aq);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
@ -720,14 +713,13 @@ int parse_env_filev(
|
||||||
int parse_env_file(
|
int parse_env_file(
|
||||||
FILE *f,
|
FILE *f,
|
||||||
const char *fname,
|
const char *fname,
|
||||||
const char *newline,
|
|
||||||
...) {
|
...) {
|
||||||
|
|
||||||
va_list ap;
|
va_list ap;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
va_start(ap, newline);
|
va_start(ap, fname);
|
||||||
r = parse_env_filev(f, fname, newline, ap);
|
r = parse_env_filev(f, fname, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
@ -763,14 +755,11 @@ static int load_env_file_push(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int load_env_file(FILE *f, const char *fname, const char *newline, char ***rl) {
|
int load_env_file(FILE *f, const char *fname, char ***rl) {
|
||||||
char **m = NULL;
|
char **m = NULL;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (!newline)
|
r = parse_env_file_internal(f, fname, load_env_file_push, &m, NULL);
|
||||||
newline = NEWLINE;
|
|
||||||
|
|
||||||
r = parse_env_file_internal(f, fname, newline, load_env_file_push, &m, NULL);
|
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
strv_free(m);
|
strv_free(m);
|
||||||
return r;
|
return r;
|
||||||
|
@ -812,14 +801,11 @@ static int load_env_file_push_pairs(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int load_env_file_pairs(FILE *f, const char *fname, const char *newline, char ***rl) {
|
int load_env_file_pairs(FILE *f, const char *fname, char ***rl) {
|
||||||
char **m = NULL;
|
char **m = NULL;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (!newline)
|
r = parse_env_file_internal(f, fname, load_env_file_push_pairs, &m, NULL);
|
||||||
newline = NEWLINE;
|
|
||||||
|
|
||||||
r = parse_env_file_internal(f, fname, newline, load_env_file_push_pairs, &m, NULL);
|
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
strv_free(m);
|
strv_free(m);
|
||||||
return r;
|
return r;
|
||||||
|
@ -872,7 +858,7 @@ int merge_env_file(
|
||||||
* plus "extended" substitutions, unlike other exported parsing functions.
|
* plus "extended" substitutions, unlike other exported parsing functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return parse_env_file_internal(f, fname, NEWLINE, merge_env_file_push, env, NULL);
|
return parse_env_file_internal(f, fname, merge_env_file_push, env, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_env_var(FILE *f, const char *v) {
|
static void write_env_var(FILE *f, const char *v) {
|
||||||
|
|
|
@ -42,10 +42,10 @@ 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 verify_file(const char *fn, const char *blob, bool accept_extra_nl);
|
||||||
|
|
||||||
int parse_env_filev(FILE *f, const char *fname, const char *separator, va_list ap);
|
int parse_env_filev(FILE *f, const char *fname, va_list ap);
|
||||||
int parse_env_file(FILE *f, const char *fname, const char *separator, ...) _sentinel_;
|
int parse_env_file(FILE *f, const char *fname, ...) _sentinel_;
|
||||||
int load_env_file(FILE *f, const char *fname, const char *separator, char ***l);
|
int load_env_file(FILE *f, const char *fname, char ***l);
|
||||||
int load_env_file_pairs(FILE *f, const char *fname, const char *separator, char ***l);
|
int load_env_file_pairs(FILE *f, const char *fname, char ***l);
|
||||||
|
|
||||||
int merge_env_file(char ***env, FILE *f, const char *fname);
|
int merge_env_file(char ***env, FILE *f, const char *fname);
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ int parse_os_release(const char *root, ...) {
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
va_start(ap, root);
|
va_start(ap, root);
|
||||||
r = parse_env_filev(f, p, NEWLINE, ap);
|
r = parse_env_filev(f, p, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
@ -113,5 +113,5 @@ int load_os_release_pairs(const char *root, char ***ret) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
return load_env_file_pairs(f, p, NEWLINE, ret);
|
return load_env_file_pairs(f, p, ret);
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,7 +248,7 @@ int container_get_leader(const char *machine, pid_t *pid) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
p = strjoina("/run/systemd/machines/", machine);
|
p = strjoina("/run/systemd/machines/", machine);
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "LEADER", &s, "CLASS", &class, NULL);
|
r = parse_env_file(NULL, p, "LEADER", &s, "CLASS", &class, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -EHOSTDOWN;
|
return -EHOSTDOWN;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|
|
@ -3961,7 +3961,7 @@ static int exec_context_load_environment(const Unit *unit, const ExecContext *c,
|
||||||
assert(pglob.gl_pathc > 0);
|
assert(pglob.gl_pathc > 0);
|
||||||
|
|
||||||
for (n = 0; n < pglob.gl_pathc; n++) {
|
for (n = 0; n < pglob.gl_pathc; n++) {
|
||||||
k = load_env_file(NULL, pglob.gl_pathv[n], NULL, &p);
|
k = load_env_file(NULL, pglob.gl_pathv[n], &p);
|
||||||
if (k < 0) {
|
if (k < 0) {
|
||||||
if (ignore)
|
if (ignore)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -40,7 +40,7 @@ int locale_setup(char ***environment) {
|
||||||
|
|
||||||
/* Hmm, nothing set on the kernel cmd line? Then let's try /etc/locale.conf */
|
/* Hmm, nothing set on the kernel cmd line? Then let's try /etc/locale.conf */
|
||||||
if (r <= 0) {
|
if (r <= 0) {
|
||||||
r = parse_env_file(NULL, "/etc/locale.conf", NEWLINE,
|
r = parse_env_file(NULL, "/etc/locale.conf",
|
||||||
"LANG", &variables[VARIABLE_LANG],
|
"LANG", &variables[VARIABLE_LANG],
|
||||||
"LANGUAGE", &variables[VARIABLE_LANGUAGE],
|
"LANGUAGE", &variables[VARIABLE_LANGUAGE],
|
||||||
"LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
|
"LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
|
||||||
|
|
|
@ -89,7 +89,7 @@ static int context_read_data(Context *c) {
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/etc/machine-info", NEWLINE,
|
r = parse_env_file(NULL, "/etc/machine-info",
|
||||||
"PRETTY_HOSTNAME", &c->data[PROP_PRETTY_HOSTNAME],
|
"PRETTY_HOSTNAME", &c->data[PROP_PRETTY_HOSTNAME],
|
||||||
"ICON_NAME", &c->data[PROP_ICON_NAME],
|
"ICON_NAME", &c->data[PROP_ICON_NAME],
|
||||||
"CHASSIS", &c->data[PROP_CHASSIS],
|
"CHASSIS", &c->data[PROP_CHASSIS],
|
||||||
|
@ -314,7 +314,7 @@ static int context_write_data_machine_info(Context *c) {
|
||||||
|
|
||||||
assert(c);
|
assert(c);
|
||||||
|
|
||||||
r = load_env_file(NULL, "/etc/machine-info", NULL, &l);
|
r = load_env_file(NULL, "/etc/machine-info", &l);
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,7 @@ static int load_cursor_state(Uploader *u) {
|
||||||
if (!u->state_file)
|
if (!u->state_file)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r = parse_env_file(NULL, u->state_file, NEWLINE,
|
r = parse_env_file(NULL, u->state_file,
|
||||||
"LAST_CURSOR", &u->last_cursor,
|
"LAST_CURSOR", &u->last_cursor,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
|
|
@ -651,7 +651,7 @@ static int stdout_stream_load(StdoutStream *stream, const char *fname) {
|
||||||
return log_oom();
|
return log_oom();
|
||||||
}
|
}
|
||||||
|
|
||||||
r = parse_env_file(NULL, stream->state_file, NEWLINE,
|
r = parse_env_file(NULL, stream->state_file,
|
||||||
"PRIORITY", &priority,
|
"PRIORITY", &priority,
|
||||||
"LEVEL_PREFIX", &level_prefix,
|
"LEVEL_PREFIX", &level_prefix,
|
||||||
"FORWARD_TO_SYSLOG", &forward_to_syslog,
|
"FORWARD_TO_SYSLOG", &forward_to_syslog,
|
||||||
|
|
|
@ -1888,7 +1888,7 @@ _public_ int sd_journal_open_container(sd_journal **ret, const char *machine, in
|
||||||
assert_return(machine_name_is_valid(machine), -EINVAL);
|
assert_return(machine_name_is_valid(machine), -EINVAL);
|
||||||
|
|
||||||
p = strjoina("/run/systemd/machines/", machine);
|
p = strjoina("/run/systemd/machines/", machine);
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "ROOT", &root, "CLASS", &class, NULL);
|
r = parse_env_file(NULL, p, "ROOT", &root, "CLASS", &class, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -EHOSTDOWN;
|
return -EHOSTDOWN;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|
|
@ -1016,7 +1016,7 @@ int dhcp_lease_load(sd_dhcp_lease **ret, const char *lease_file) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, lease_file, NEWLINE,
|
r = parse_env_file(NULL, lease_file,
|
||||||
"ADDRESS", &address,
|
"ADDRESS", &address,
|
||||||
"ROUTER", &router,
|
"ROUTER", &router,
|
||||||
"NETMASK", &netmask,
|
"NETMASK", &netmask,
|
||||||
|
|
|
@ -268,7 +268,7 @@ _public_ int sd_uid_get_state(uid_t uid, char**state) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "STATE", &s, NULL);
|
r = parse_env_file(NULL, p, "STATE", &s, NULL);
|
||||||
if (r == -ENOENT) {
|
if (r == -ENOENT) {
|
||||||
free(s);
|
free(s);
|
||||||
s = strdup("offline");
|
s = strdup("offline");
|
||||||
|
@ -299,7 +299,7 @@ _public_ int sd_uid_get_display(uid_t uid, char **session) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "DISPLAY", &s, NULL);
|
r = parse_env_file(NULL, p, "DISPLAY", &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -354,7 +354,7 @@ _public_ int sd_uid_is_on_seat(uid_t uid, int require_active, const char *seat)
|
||||||
|
|
||||||
variable = require_active ? "ACTIVE_UID" : "UIDS";
|
variable = require_active ? "ACTIVE_UID" : "UIDS";
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, variable, &s, NULL);
|
r = parse_env_file(NULL, p, variable, &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return 0;
|
return 0;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -383,7 +383,7 @@ static int uid_get_array(uid_t uid, const char *variable, char ***array) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, variable, &s, NULL);
|
r = parse_env_file(NULL, p, variable, &s, NULL);
|
||||||
if (r == -ENOENT || (r >= 0 && isempty(s))) {
|
if (r == -ENOENT || (r >= 0 && isempty(s))) {
|
||||||
if (array)
|
if (array)
|
||||||
*array = NULL;
|
*array = NULL;
|
||||||
|
@ -461,7 +461,7 @@ _public_ int sd_session_is_active(const char *session) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "ACTIVE", &s, NULL);
|
r = parse_env_file(NULL, p, "ACTIVE", &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -480,7 +480,7 @@ _public_ int sd_session_is_remote(const char *session) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "REMOTE", &s, NULL);
|
r = parse_env_file(NULL, p, "REMOTE", &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -501,7 +501,7 @@ _public_ int sd_session_get_state(const char *session, char **state) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "STATE", &s, NULL);
|
r = parse_env_file(NULL, p, "STATE", &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -524,7 +524,7 @@ _public_ int sd_session_get_uid(const char *session, uid_t *uid) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "UID", &s, NULL);
|
r = parse_env_file(NULL, p, "UID", &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -546,7 +546,7 @@ static int session_get_string(const char *session, const char *field, char **val
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE, field, &s, NULL);
|
r = parse_env_file(NULL, p, field, &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -638,7 +638,7 @@ _public_ int sd_seat_get_active(const char *seat, char **session, uid_t *uid) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE,
|
r = parse_env_file(NULL, p,
|
||||||
"ACTIVE", &s,
|
"ACTIVE", &s,
|
||||||
"ACTIVE_UID", &t,
|
"ACTIVE_UID", &t,
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -676,7 +676,7 @@ _public_ int sd_seat_get_sessions(const char *seat, char ***sessions, uid_t **ui
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE,
|
r = parse_env_file(NULL, p,
|
||||||
"SESSIONS", &s,
|
"SESSIONS", &s,
|
||||||
"UIDS", &t,
|
"UIDS", &t,
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -745,7 +745,7 @@ static int seat_get_can(const char *seat, const char *variable) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NEWLINE,
|
r = parse_env_file(NULL, p,
|
||||||
variable, &s,
|
variable, &s,
|
||||||
NULL);
|
NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
|
@ -901,7 +901,7 @@ _public_ int sd_machine_get_class(const char *machine, char **class) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
p = strjoina("/run/systemd/machines/", machine);
|
p = strjoina("/run/systemd/machines/", machine);
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "CLASS", &c, NULL);
|
r = parse_env_file(NULL, p, "CLASS", &c, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -925,7 +925,7 @@ _public_ int sd_machine_get_ifindices(const char *machine, int **ifindices) {
|
||||||
assert_return(ifindices, -EINVAL);
|
assert_return(ifindices, -EINVAL);
|
||||||
|
|
||||||
p = strjoina("/run/systemd/machines/", machine);
|
p = strjoina("/run/systemd/machines/", machine);
|
||||||
r = parse_env_file(NULL, p, NEWLINE, "NETIF", &netif, NULL);
|
r = parse_env_file(NULL, p, "NETIF", &netif, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|
|
@ -24,7 +24,7 @@ _public_ int sd_network_get_operational_state(char **state) {
|
||||||
|
|
||||||
assert_return(state, -EINVAL);
|
assert_return(state, -EINVAL);
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/run/systemd/netif/state", NEWLINE, "OPER_STATE", &s, NULL);
|
r = parse_env_file(NULL, "/run/systemd/netif/state", "OPER_STATE", &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -44,7 +44,7 @@ static int network_get_strv(const char *key, char ***ret) {
|
||||||
|
|
||||||
assert_return(ret, -EINVAL);
|
assert_return(ret, -EINVAL);
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/run/systemd/netif/state", NEWLINE, key, &s, NULL);
|
r = parse_env_file(NULL, "/run/systemd/netif/state", key, &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -92,7 +92,7 @@ static int network_link_get_string(int ifindex, const char *field, char **ret) {
|
||||||
|
|
||||||
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
||||||
|
|
||||||
r = parse_env_file(NULL, path, NEWLINE, field, &s, NULL);
|
r = parse_env_file(NULL, path, field, &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -115,7 +115,7 @@ static int network_link_get_strv(int ifindex, const char *key, char ***ret) {
|
||||||
assert_return(ret, -EINVAL);
|
assert_return(ret, -EINVAL);
|
||||||
|
|
||||||
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
||||||
r = parse_env_file(NULL, path, NEWLINE, key, &s, NULL);
|
r = parse_env_file(NULL, path, key, &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -216,7 +216,7 @@ static int network_link_get_ifindexes(int ifindex, const char *key, int **ret) {
|
||||||
assert_return(ret, -EINVAL);
|
assert_return(ret, -EINVAL);
|
||||||
|
|
||||||
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
||||||
r = parse_env_file(NULL, path, NEWLINE, key, &s, NULL);
|
r = parse_env_file(NULL, path, key, &s, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|
|
@ -114,7 +114,7 @@ int locale_read_data(Context *c, sd_bus_message *m) {
|
||||||
c->locale_mtime = t;
|
c->locale_mtime = t;
|
||||||
context_free_locale(c);
|
context_free_locale(c);
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/etc/locale.conf", NEWLINE,
|
r = parse_env_file(NULL, "/etc/locale.conf",
|
||||||
"LANG", &c->locale[VARIABLE_LANG],
|
"LANG", &c->locale[VARIABLE_LANG],
|
||||||
"LANGUAGE", &c->locale[VARIABLE_LANGUAGE],
|
"LANGUAGE", &c->locale[VARIABLE_LANGUAGE],
|
||||||
"LC_CTYPE", &c->locale[VARIABLE_LC_CTYPE],
|
"LC_CTYPE", &c->locale[VARIABLE_LC_CTYPE],
|
||||||
|
@ -186,7 +186,7 @@ int vconsole_read_data(Context *c, sd_bus_message *m) {
|
||||||
c->vc_mtime = t;
|
c->vc_mtime = t;
|
||||||
context_free_vconsole(c);
|
context_free_vconsole(c);
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/etc/vconsole.conf", NEWLINE,
|
r = parse_env_file(NULL, "/etc/vconsole.conf",
|
||||||
"KEYMAP", &c->vc_keymap,
|
"KEYMAP", &c->vc_keymap,
|
||||||
"KEYMAP_TOGGLE", &c->vc_keymap_toggle,
|
"KEYMAP_TOGGLE", &c->vc_keymap_toggle,
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -341,7 +341,7 @@ int vconsole_write_data(Context *c) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = load_env_file(NULL, "/etc/vconsole.conf", NULL, &l);
|
r = load_env_file(NULL, "/etc/vconsole.conf", &l);
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
|
|
@ -193,7 +193,7 @@ int inhibitor_load(Inhibitor *i) {
|
||||||
char *cc;
|
char *cc;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, i->state_file, NEWLINE,
|
r = parse_env_file(NULL, i->state_file,
|
||||||
"WHAT", &what,
|
"WHAT", &what,
|
||||||
"UID", &uid,
|
"UID", &uid,
|
||||||
"PID", &pid,
|
"PID", &pid,
|
||||||
|
|
|
@ -406,7 +406,7 @@ int session_load(Session *s) {
|
||||||
|
|
||||||
assert(s);
|
assert(s);
|
||||||
|
|
||||||
r = parse_env_file(NULL, s->state_file, NEWLINE,
|
r = parse_env_file(NULL, s->state_file,
|
||||||
"REMOTE", &remote,
|
"REMOTE", &remote,
|
||||||
"SCOPE", &s->scope,
|
"SCOPE", &s->scope,
|
||||||
"SCOPE_JOB", &s->scope_job,
|
"SCOPE_JOB", &s->scope_job,
|
||||||
|
|
|
@ -312,7 +312,7 @@ int user_load(User *u) {
|
||||||
|
|
||||||
assert(u);
|
assert(u);
|
||||||
|
|
||||||
r = parse_env_file(NULL, u->state_file, NEWLINE,
|
r = parse_env_file(NULL, u->state_file,
|
||||||
"SERVICE_JOB", &u->service_job,
|
"SERVICE_JOB", &u->service_job,
|
||||||
"STOPPING", &stopping,
|
"STOPPING", &stopping,
|
||||||
"REALTIME", &realtime,
|
"REALTIME", &realtime,
|
||||||
|
|
|
@ -373,7 +373,7 @@ int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, s
|
||||||
|
|
||||||
pair[0] = -1;
|
pair[0] = -1;
|
||||||
|
|
||||||
r = load_env_file_pairs(f, "/etc/os-release", NULL, &l);
|
r = load_env_file_pairs(f, "/etc/os-release", &l);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
|
|
@ -251,7 +251,7 @@ int machine_load(Machine *m) {
|
||||||
if (!m->state_file)
|
if (!m->state_file)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r = parse_env_file(NULL, m->state_file, NEWLINE,
|
r = parse_env_file(NULL, m->state_file,
|
||||||
"SCOPE", &m->unit,
|
"SCOPE", &m->unit,
|
||||||
"SCOPE_JOB", &m->scope_job,
|
"SCOPE_JOB", &m->scope_job,
|
||||||
"SERVICE", &m->service,
|
"SERVICE", &m->service,
|
||||||
|
|
|
@ -3210,7 +3210,7 @@ static int link_load(Link *link) {
|
||||||
|
|
||||||
assert(link);
|
assert(link);
|
||||||
|
|
||||||
r = parse_env_file(NULL, link->state_file, NEWLINE,
|
r = parse_env_file(NULL, link->state_file,
|
||||||
"NETWORK_FILE", &network_file,
|
"NETWORK_FILE", &network_file,
|
||||||
"ADDRESSES", &addresses,
|
"ADDRESSES", &addresses,
|
||||||
"ROUTES", &routes,
|
"ROUTES", &routes,
|
||||||
|
|
|
@ -244,7 +244,7 @@ static int link_send_lldp(Link *link) {
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
(void) gethostname_strict(&hostname);
|
(void) gethostname_strict(&hostname);
|
||||||
(void) parse_env_file(NULL, "/etc/machine-info", NEWLINE, "PRETTY_HOSTNAME", &pretty_hostname, NULL);
|
(void) parse_env_file(NULL, "/etc/machine-info", "PRETTY_HOSTNAME", &pretty_hostname, NULL);
|
||||||
|
|
||||||
assert_cc(LLDP_TX_INTERVAL_USEC * LLDP_TX_HOLD + 1 <= (UINT16_MAX - 1) * USEC_PER_SEC);
|
assert_cc(LLDP_TX_INTERVAL_USEC * LLDP_TX_HOLD + 1 <= (UINT16_MAX - 1) * USEC_PER_SEC);
|
||||||
ttl = DIV_ROUND_UP(LLDP_TX_INTERVAL_USEC * LLDP_TX_HOLD + 1, USEC_PER_SEC);
|
ttl = DIV_ROUND_UP(LLDP_TX_INTERVAL_USEC * LLDP_TX_HOLD + 1, USEC_PER_SEC);
|
||||||
|
|
|
@ -279,7 +279,7 @@ static int inspect_image(int argc, char *argv[], void *userdata) {
|
||||||
if (!f)
|
if (!f)
|
||||||
return log_error_errno(errno, "Failed to open /etc/os-release buffer: %m");
|
return log_error_errno(errno, "Failed to open /etc/os-release buffer: %m");
|
||||||
|
|
||||||
r = parse_env_file(f, "/etc/os-release", NEWLINE,
|
r = parse_env_file(f, "/etc/os-release",
|
||||||
"PORTABLE_PRETTY_NAME", &pretty_portable,
|
"PORTABLE_PRETTY_NAME", &pretty_portable,
|
||||||
"PRETTY_NAME", &pretty_os,
|
"PRETTY_NAME", &pretty_os,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
|
@ -1257,7 +1257,7 @@ int link_load_user(Link *l) {
|
||||||
if (l->is_managed)
|
if (l->is_managed)
|
||||||
return 0; /* if the device is managed, then networkd is our configuration source, not the bus API */
|
return 0; /* if the device is managed, then networkd is our configuration source, not the bus API */
|
||||||
|
|
||||||
r = parse_env_file(NULL, l->state_file, NEWLINE,
|
r = parse_env_file(NULL, l->state_file,
|
||||||
"LLMNR", &llmnr,
|
"LLMNR", &llmnr,
|
||||||
"MDNS", &mdns,
|
"MDNS", &mdns,
|
||||||
"DNSSEC", &dnssec,
|
"DNSSEC", &dnssec,
|
||||||
|
|
|
@ -339,7 +339,7 @@ int show_cgroup_get_path_and_warn(
|
||||||
const char *m;
|
const char *m;
|
||||||
|
|
||||||
m = strjoina("/run/systemd/machines/", machine);
|
m = strjoina("/run/systemd/machines/", machine);
|
||||||
r = parse_env_file(NULL, m, NEWLINE, "SCOPE", &unit, NULL);
|
r = parse_env_file(NULL, m, "SCOPE", &unit, NULL);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to load machine data: %m");
|
return log_error_errno(r, "Failed to load machine data: %m");
|
||||||
|
|
||||||
|
|
|
@ -471,7 +471,7 @@ static int condition_test_needs_update(Condition *c) {
|
||||||
uint64_t timestamp;
|
uint64_t timestamp;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, p, NULL, "TIMESTAMP_NSEC", ×tamp_str, NULL);
|
r = parse_env_file(NULL, p, "TIMESTAMP_NSEC", ×tamp_str, NULL);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
log_error_errno(r, "Failed to parse timestamp file '%s', using mtime: %m", p);
|
log_error_errno(r, "Failed to parse timestamp file '%s', using mtime: %m", p);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1333,14 +1333,14 @@ int dissected_image_acquire_metadata(DissectedImage *m) {
|
||||||
}
|
}
|
||||||
|
|
||||||
case META_MACHINE_INFO:
|
case META_MACHINE_INFO:
|
||||||
r = load_env_file_pairs(f, "machine-info", NULL, &machine_info);
|
r = load_env_file_pairs(f, "machine-info", &machine_info);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
log_debug_errno(r, "Failed to read /etc/machine-info: %m");
|
log_debug_errno(r, "Failed to read /etc/machine-info: %m");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_OS_RELEASE:
|
case META_OS_RELEASE:
|
||||||
r = load_env_file_pairs(f, "os-release", NULL, &os_release);
|
r = load_env_file_pairs(f, "os-release", &os_release);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
log_debug_errno(r, "Failed to read OS release file: %m");
|
log_debug_errno(r, "Failed to read OS release file: %m");
|
||||||
|
|
||||||
|
|
|
@ -1114,7 +1114,7 @@ int image_read_metadata(Image *i) {
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
log_debug_errno(r, "Failed to chase /etc/machine-info in image %s: %m", i->name);
|
log_debug_errno(r, "Failed to chase /etc/machine-info in image %s: %m", i->name);
|
||||||
else if (r >= 0) {
|
else if (r >= 0) {
|
||||||
r = load_env_file_pairs(NULL, path, NULL, &machine_info);
|
r = load_env_file_pairs(NULL, path, &machine_info);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
log_debug_errno(r, "Failed to parse machine-info data of %s: %m", i->name);
|
log_debug_errno(r, "Failed to parse machine-info data of %s: %m", i->name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ static void load_testdata_env(void) {
|
||||||
dirname(s);
|
dirname(s);
|
||||||
|
|
||||||
envpath = path_join(NULL, s, "systemd-runtest.env");
|
envpath = path_join(NULL, s, "systemd-runtest.env");
|
||||||
if (load_env_file_pairs(NULL, envpath, NULL, &pairs) < 0)
|
if (load_env_file_pairs(NULL, envpath, &pairs) < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
STRV_FOREACH_PAIR(k, v, pairs)
|
STRV_FOREACH_PAIR(k, v, pairs)
|
||||||
|
|
|
@ -29,7 +29,7 @@ int udev_parse_config_full(
|
||||||
_cleanup_free_ char *log_val = NULL, *children_max = NULL, *exec_delay = NULL, *event_timeout = NULL, *resolve_names = NULL;
|
_cleanup_free_ char *log_val = NULL, *children_max = NULL, *exec_delay = NULL, *event_timeout = NULL, *resolve_names = NULL;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/etc/udev/udev.conf", NEWLINE,
|
r = parse_env_file(NULL, "/etc/udev/udev.conf",
|
||||||
"udev_log", &log_val,
|
"udev_log", &log_val,
|
||||||
"children_max", &children_max,
|
"children_max", &children_max,
|
||||||
"exec_delay", &exec_delay,
|
"exec_delay", &exec_delay,
|
||||||
|
|
|
@ -55,7 +55,7 @@ static void test_parse_env_file(void) {
|
||||||
fflush(f);
|
fflush(f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
r = load_env_file(NULL, t, NULL, &a);
|
r = load_env_file(NULL, t, &a);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
|
|
||||||
STRV_FOREACH(i, a)
|
STRV_FOREACH(i, a)
|
||||||
|
@ -82,7 +82,7 @@ static void test_parse_env_file(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
r = parse_env_file(
|
r = parse_env_file(
|
||||||
NULL, t, NULL,
|
NULL, t,
|
||||||
"one", &one,
|
"one", &one,
|
||||||
"two", &two,
|
"two", &two,
|
||||||
"three", &three,
|
"three", &three,
|
||||||
|
@ -128,7 +128,7 @@ static void test_parse_env_file(void) {
|
||||||
r = write_env_file(p, a);
|
r = write_env_file(p, a);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
|
|
||||||
r = load_env_file(NULL, p, NULL, &b);
|
r = load_env_file(NULL, p, &b);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ static void test_parse_multiline_env_file(void) {
|
||||||
fflush(f);
|
fflush(f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
r = load_env_file(NULL, t, NULL, &a);
|
r = load_env_file(NULL, t, &a);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
|
|
||||||
STRV_FOREACH(i, a)
|
STRV_FOREACH(i, a)
|
||||||
|
@ -176,7 +176,7 @@ static void test_parse_multiline_env_file(void) {
|
||||||
r = write_env_file(p, a);
|
r = write_env_file(p, a);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
|
|
||||||
r = load_env_file(NULL, p, NULL, &b);
|
r = load_env_file(NULL, p, &b);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ static void test_load_env_file_pairs(void) {
|
||||||
f = fdopen(fd, "r");
|
f = fdopen(fd, "r");
|
||||||
assert_se(f);
|
assert_se(f);
|
||||||
|
|
||||||
r = load_env_file_pairs(f, fn, NULL, &l);
|
r = load_env_file_pairs(f, fn, &l);
|
||||||
assert_se(r >= 0);
|
assert_se(r >= 0);
|
||||||
|
|
||||||
assert_se(strv_length(l) == 14);
|
assert_se(strv_length(l) == 14);
|
||||||
|
|
|
@ -531,7 +531,7 @@ static void test_load_env_file_1(void) {
|
||||||
assert_se(fd >= 0);
|
assert_se(fd >= 0);
|
||||||
assert_se(write(fd, env_file_1, sizeof(env_file_1)) == sizeof(env_file_1));
|
assert_se(write(fd, env_file_1, sizeof(env_file_1)) == sizeof(env_file_1));
|
||||||
|
|
||||||
r = load_env_file(NULL, name, NULL, &data);
|
r = load_env_file(NULL, name, &data);
|
||||||
assert_se(r == 0);
|
assert_se(r == 0);
|
||||||
assert_se(streq(data[0], "a=a"));
|
assert_se(streq(data[0], "a=a"));
|
||||||
assert_se(streq(data[1], "b=bc"));
|
assert_se(streq(data[1], "b=bc"));
|
||||||
|
@ -553,7 +553,7 @@ static void test_load_env_file_2(void) {
|
||||||
assert_se(fd >= 0);
|
assert_se(fd >= 0);
|
||||||
assert_se(write(fd, env_file_2, sizeof(env_file_2)) == sizeof(env_file_2));
|
assert_se(write(fd, env_file_2, sizeof(env_file_2)) == sizeof(env_file_2));
|
||||||
|
|
||||||
r = load_env_file(NULL, name, NULL, &data);
|
r = load_env_file(NULL, name, &data);
|
||||||
assert_se(r == 0);
|
assert_se(r == 0);
|
||||||
assert_se(streq(data[0], "a=a"));
|
assert_se(streq(data[0], "a=a"));
|
||||||
assert_se(data[1] == NULL);
|
assert_se(data[1] == NULL);
|
||||||
|
@ -570,7 +570,7 @@ static void test_load_env_file_3(void) {
|
||||||
assert_se(fd >= 0);
|
assert_se(fd >= 0);
|
||||||
assert_se(write(fd, env_file_3, sizeof(env_file_3)) == sizeof(env_file_3));
|
assert_se(write(fd, env_file_3, sizeof(env_file_3)) == sizeof(env_file_3));
|
||||||
|
|
||||||
r = load_env_file(NULL, name, NULL, &data);
|
r = load_env_file(NULL, name, &data);
|
||||||
assert_se(r == 0);
|
assert_se(r == 0);
|
||||||
assert_se(data == NULL);
|
assert_se(data == NULL);
|
||||||
}
|
}
|
||||||
|
@ -585,7 +585,7 @@ static void test_load_env_file_4(void) {
|
||||||
assert_se(fd >= 0);
|
assert_se(fd >= 0);
|
||||||
assert_se(write(fd, env_file_4, sizeof(env_file_4)) == sizeof(env_file_4));
|
assert_se(write(fd, env_file_4, sizeof(env_file_4)) == sizeof(env_file_4));
|
||||||
|
|
||||||
r = load_env_file(NULL, name, NULL, &data);
|
r = load_env_file(NULL, name, &data);
|
||||||
assert_se(r == 0);
|
assert_se(r == 0);
|
||||||
assert_se(streq(data[0], "HWMON_MODULES=coretemp f71882fg"));
|
assert_se(streq(data[0], "HWMON_MODULES=coretemp f71882fg"));
|
||||||
assert_se(streq(data[1], "MODULE_0=coretemp"));
|
assert_se(streq(data[1], "MODULE_0=coretemp"));
|
||||||
|
@ -604,7 +604,7 @@ static void test_load_env_file_5(void) {
|
||||||
assert_se(fd >= 0);
|
assert_se(fd >= 0);
|
||||||
assert_se(write(fd, env_file_5, sizeof(env_file_5)) == sizeof(env_file_5));
|
assert_se(write(fd, env_file_5, sizeof(env_file_5)) == sizeof(env_file_5));
|
||||||
|
|
||||||
r = load_env_file(NULL, name, NULL, &data);
|
r = load_env_file(NULL, name, &data);
|
||||||
assert_se(r == 0);
|
assert_se(r == 0);
|
||||||
assert_se(streq(data[0], "a="));
|
assert_se(streq(data[0], "a="));
|
||||||
assert_se(streq(data[1], "b="));
|
assert_se(streq(data[1], "b="));
|
||||||
|
|
|
@ -418,7 +418,7 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
utf8 = is_locale_utf8();
|
utf8 = is_locale_utf8();
|
||||||
|
|
||||||
r = parse_env_file(NULL, "/etc/vconsole.conf", NEWLINE,
|
r = parse_env_file(NULL, "/etc/vconsole.conf",
|
||||||
"KEYMAP", &vc_keymap,
|
"KEYMAP", &vc_keymap,
|
||||||
"KEYMAP_TOGGLE", &vc_keymap_toggle,
|
"KEYMAP_TOGGLE", &vc_keymap_toggle,
|
||||||
"FONT", &vc_font,
|
"FONT", &vc_font,
|
||||||
|
|
Loading…
Reference in a new issue