summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-08-13 01:28:05 +0200
committerLennart Poettering <lennart@poettering.net>2010-08-13 01:29:30 +0200
commitc31b4423a94bc66689bafec0ce423127e63abca4 (patch)
treef03669e4f6f7fdbae0d3557c23d29533932ee0a8
parent145b66acab96f3a51696e8402d8cb21153868d7c (diff)
systemctl: show sysv path if it is set if the fragment path isn't in systemctl status
-rw-r--r--fixme4
-rw-r--r--src/systemctl.c23
2 files changed, 16 insertions, 11 deletions
diff --git a/fixme b/fixme
index 77cbb43fbc..e255dee23e 100644
--- a/fixme
+++ b/fixme
@@ -75,7 +75,9 @@
* plymouth after/before getty?
-* in systemctl show sysv init script path
+* D-Bus call GetUnitByPID
+
+* be more forgiving when parsing unit files, when encountering incorrect lines with non assignments
External:
diff --git a/src/systemctl.c b/src/systemctl.c
index e1d4f93e6c..8f7755f8cb 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -1418,7 +1418,7 @@ typedef struct UnitStatusInfo {
const char *description;
- const char *fragment_path;
+ const char *path;
const char *default_control_group;
bool need_daemon_reload;
@@ -1467,15 +1467,16 @@ static void print_status_info(UnitStatusInfo *i) {
printf("\n");
- if (i->fragment_path)
- printf("\t Loaded: %s (%s)\n", strna(i->load_state), i->fragment_path);
- else if (streq_ptr(i->load_state, "failed"))
- printf("\t Loaded: %s%s%s\n",
- ansi_highlight(true),
- strna(i->load_state),
- ansi_highlight(false));
+ if (streq_ptr(i->load_state, "failed")) {
+ on = ansi_highlight(true);
+ off = ansi_highlight(false);
+ } else
+ on = off = "";
+
+ if (i->path)
+ printf("\t Loaded: %s%s%s (%s)\n", on, strna(i->load_state), off, i->path);
else
- printf("\t Loaded: %s\n", strna(i->load_state));
+ printf("\t Loaded: %s%s%s\n", on, strna(i->load_state), off);
ss = streq_ptr(i->active_state, i->sub_state) ? NULL : i->sub_state;
@@ -1623,7 +1624,9 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn
else if (streq(name, "Description"))
i->description = s;
else if (streq(name, "FragmentPath"))
- i->fragment_path = s;
+ i->path = s;
+ else if (streq(name, "SysVPath"))
+ i->path = s;
else if (streq(name, "DefaultControlGroup"))
i->default_control_group = s;
else if (streq(name, "StatusText"))