Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
systemd-mini.1059
0001-systemctl-return-an-error-code-is-status-f...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-systemctl-return-an-error-code-is-status-fails.patch of Package systemd-mini.1059
Based on 5bb75bc745557d5141066dee796b329507b0c634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> Date: Sat, 10 May 2014 03:44:25 +0200 Subject: [PATCH] systemctl: return an error code is status fails This got lost in the refactoring in f74294c1dabb4. Also make sure that the return code corresponds to the *first* failure, not the last. https://lists.fedoraproject.org/pipermail/devel/2014-May/199080.html --- src/systemctl/systemctl.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) --- src/systemctl/systemctl.c +++ src/systemctl/systemctl.c 2015-05-20 09:52:20.819887686 +0000 @@ -3878,7 +3878,7 @@ static int show_all( _cleanup_free_ UnitInfo *unit_infos = NULL; const UnitInfo *u; unsigned c; - int r; + int r, ret = 0; r = get_unit_list(bus, &reply, &unit_infos, NULL); if (r < 0) @@ -3900,9 +3900,11 @@ static int show_all( r = show_one(verb, bus, p, show_properties, new_line, ellipsized); if (r != 0) return r; + else if (r > 0 && ret == 0) + ret = r; } - return 0; + return ret; } static int cat(sd_bus *bus, char **args) { @@ -4048,7 +4050,12 @@ static int show(sd_bus *bus, char **args } } - show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized); + r = show_one(args[0], bus, unit, show_properties, + &new_line, &ellipsized); + if (r < 0) + return r; + else if (r > 0 && ret == 0) + ret = r; } if (!strv_isempty(patterns)) { @@ -4065,7 +4072,12 @@ static int show(sd_bus *bus, char **args if (!unit) return log_oom(); - show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized); + r = show_one(args[0], bus, unit, show_properties, + &new_line, &ellipsized); + if (r < 0) + return r; + else if (r > 0 && ret == 0) + ret = r; } } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor