diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-07-16 18:27:12 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-07-16 18:47:20 -0400 |
commit | 36f822c4bd077f9121757e24b6516e5c7ada63b5 (patch) | |
tree | 9201ba3d895aa08a00c17ada422a3dd399e456f9 /src/journal | |
parent | e1bbf3d12f28b8e3d4394f2b257e1b7aea3d10fc (diff) |
Let config_parse open file where applicable
Special care is needed so that we get an error message if the
file failed to parse, but not when it is missing. To avoid duplicating
the same error check in every caller, add an additional 'warn' boolean
to tell config_parse whether a message should be issued.
This makes things both shorter and more robust wrt. to error reporting.
Diffstat (limited to 'src/journal')
-rw-r--r-- | src/journal/coredump.c | 14 | ||||
-rw-r--r-- | src/journal/journald-server.c | 23 |
2 files changed, 8 insertions, 29 deletions
diff --git a/src/journal/coredump.c b/src/journal/coredump.c index 4ac1a41299..182c2b1bad 100644 --- a/src/journal/coredump.c +++ b/src/journal/coredump.c @@ -114,16 +114,10 @@ static int parse_config(void) { {} }; - return config_parse( - NULL, - "/etc/systemd/coredump.conf", - NULL, - "Coredump\0", - config_item_table_lookup, - items, - false, - false, - NULL); + return config_parse(NULL, "/etc/systemd/coredump.conf", NULL, + "Coredump\0", + config_item_table_lookup, items, + false, false, true, NULL); } static int fix_acl(int fd, uid_t uid) { diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 097af24c5b..4ea9d43c0d 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -1331,27 +1331,12 @@ static int server_parse_proc_cmdline(Server *s) { } static int server_parse_config_file(Server *s) { - static const char fn[] = "/etc/systemd/journald.conf"; - _cleanup_fclose_ FILE *f = NULL; - int r; - assert(s); - f = fopen(fn, "re"); - if (!f) { - if (errno == ENOENT) - return 0; - - log_warning("Failed to open configuration file %s: %m", fn); - return -errno; - } - - r = config_parse(NULL, fn, f, "Journal\0", config_item_perf_lookup, - journald_gperf_lookup, false, false, s); - if (r < 0) - log_warning("Failed to parse configuration file: %s", strerror(-r)); - - return r; + return config_parse(NULL, "/etc/systemd/journald.conf", NULL, + "Journal\0", + config_item_perf_lookup, journald_gperf_lookup, + false, false, true, s); } static int server_dispatch_sync(sd_event_source *es, usec_t t, void *userdata) { |