summaryrefslogtreecommitdiff
path: root/src/systemctl
diff options
context:
space:
mode:
authorFranck Bui <fbui@suse.com>2017-02-02 19:29:44 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-02-02 13:29:44 -0500
commitf1669917f583279ac7348283206612462b178597 (patch)
tree5d36588cfa4963e7efb850c8711ae8e6cca9bfee /src/systemctl
parent486b3d08dbf6c6b0b20e2960990f864d5d95fd37 (diff)
systemctl: 'show' don't exit with a failure status if the requested property does not exist (#5201)
"systemctl show -pUnknown <service>" used to exit with '0' even if the property passed by '-p' doesn't exist. But since commit 3dced37b7c2c9a5c733817 (v231+), it exits with a failure status. "systemctl show" is supposed to be scriptable and therefore its behavior is supposed to be stable. This patch restores the old behavior on which a couple of scripts already rely now. Also when the requested property doesn't exist, it always logs it at the debug level since this part of the code is only used by the show command. Fixes: #5118
Diffstat (limited to 'src/systemctl')
-rw-r--r--src/systemctl/systemctl.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 8f80559baf..c28da50f41 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -5029,13 +5029,10 @@ static int show_one(
r = 0;
if (show_properties) {
char **pp;
- int not_found_level = streq(verb, "show") ? LOG_DEBUG : LOG_WARNING;
STRV_FOREACH(pp, arg_properties)
- if (!set_contains(found_properties, *pp)) {
- log_full(not_found_level, "Property %s does not exist.", *pp);
- r = -ENXIO;
- }
+ if (!set_contains(found_properties, *pp))
+ log_debug("Property %s does not exist.", *pp);
} else if (streq(verb, "help"))
show_unit_help(&info);