summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-04-15 22:25:58 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-04-17 00:09:16 -0400
commite8e581bf256b8c0fbd430935af79fa0e8ee570a1 (patch)
treeb203161b3797ff9df6444c0696e402448ffbda69 /src/login
parentc1b6628d64e5340d905d974bb95d673a4aae60c1 (diff)
downloadsystemd-e8e581bf256b8c0fbd430935af79fa0e8ee570a1.tar.gz
Report about syntax errors with metadata
The information about the unit for which files are being parsed is passed all the way down. This way messages land in the journal with proper UNIT=... or USER_UNIT=... attribution. 'systemctl status' and 'journalctl -u' not displaying those messages has been a source of confusion for users, since the journal entry for a misspelt setting was often logged quite a bit earlier than the failure to start a unit. Based-on-a-patch-by: Oleksii Shevchuk <alxchk@gmail.com>
Diffstat (limited to 'src/login')
-rw-r--r--src/login/logind-action.c2
-rw-r--r--src/login/logind-action.h2
-rw-r--r--src/login/logind.c2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/login/logind-action.c b/src/login/logind-action.c
index 1e529e1c98..4091e411b0 100644
--- a/src/login/logind-action.c
+++ b/src/login/logind-action.c
@@ -21,6 +21,8 @@
#include <unistd.h>
+#include <systemd/sd-messages.h>
+
#include "conf-parser.h"
#include "special.h"
#include "dbus-common.h"
diff --git a/src/login/logind-action.h b/src/login/logind-action.h
index 7ab44644f2..df080d98ed 100644
--- a/src/login/logind-action.h
+++ b/src/login/logind-action.h
@@ -49,6 +49,6 @@ int manager_handle_action(
const char* handle_action_to_string(HandleAction h);
HandleAction handle_action_from_string(const char *s);
-int config_parse_handle_action(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_handle_action(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
#endif
diff --git a/src/login/logind.c b/src/login/logind.c
index caed149ad6..66a786a3f8 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -1689,7 +1689,7 @@ static int manager_parse_config_file(Manager *m) {
return -errno;
}
- r = config_parse(fn, f, "Login\0", config_item_perf_lookup, (void*) logind_gperf_lookup, false, m);
+ r = config_parse(NULL, fn, f, "Login\0", config_item_perf_lookup, (void*) logind_gperf_lookup, false, m);
if (r < 0)
log_warning("Failed to parse configuration file: %s", strerror(-r));