systemctl: let list-{units,unit-files } honour --type

The docs don't clarify what is expected, but I don't see any reason
why --type should be ignored.

Also restucture the compund conditions into separate clauses for
easier reading.

(cherry picked from commit 6c71341aee)

Conflicts:
	src/systemctl/systemctl.c
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2014-10-30 00:13:42 -04:00
parent b5d7c81b89
commit 281593c1e9
+4 -2
View File
@@ -277,8 +277,10 @@ static int compare_unit_info(const void *a, const void *b) {
static bool output_show_unit(const struct unit_info *u) {
const char *dot;
if (!strv_isempty(arg_states))
return strv_contains(arg_states, u->load_state) || strv_contains(arg_states, u->sub_state) || strv_contains(arg_states, u->active_state);
if (!strv_isempty(arg_states)) {
if (!strv_contains(arg_states, u->load_state) && !strv_contains(arg_states, u->sub_state) && !strv_contains(arg_states, u->active_state))
return false;
}
return (!arg_types || ((dot = strrchr(u->id, '.')) &&
strv_find(arg_types, dot+1))) &&