You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
6.9 KiB
118 lines
6.9 KiB
From cb49e80f8adf8fe81b6aa96b17a39a96850dcfa6 Mon Sep 17 00:00:00 2001 |
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> |
|
Date: Thu, 10 Mar 2022 09:19:37 +0100 |
|
Subject: [PATCH] shared/install: simplify unit_file_dump_changes() |
|
|
|
No functional change. |
|
|
|
(cherry picked from commit 32450f5348c03262f3257af328b6547cbfba5859) |
|
|
|
Related: #2082131 |
|
--- |
|
src/shared/install.c | 63 +++++++++++++++++++------------------------- |
|
1 file changed, 27 insertions(+), 36 deletions(-) |
|
|
|
diff --git a/src/shared/install.c b/src/shared/install.c |
|
index 8d82cb6b16..80863b448b 100644 |
|
--- a/src/shared/install.c |
|
+++ b/src/shared/install.c |
|
@@ -320,7 +320,7 @@ void unit_file_changes_free(UnitFileChange *changes, size_t n_changes) { |
|
} |
|
|
|
void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *changes, size_t n_changes, bool quiet) { |
|
- bool logged = false; |
|
+ int err = 0; |
|
|
|
assert(changes || n_changes == 0); |
|
/* If verb is not specified, errors are not allowed! */ |
|
@@ -361,64 +361,55 @@ void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *chang |
|
break; |
|
case -EEXIST: |
|
if (changes[i].source) |
|
- log_error_errno(changes[i].type_or_errno, |
|
- "Failed to %s unit, file \"%s\" already exists and is a symlink to \"%s\".", |
|
- verb, changes[i].path, changes[i].source); |
|
+ err = log_error_errno(changes[i].type_or_errno, |
|
+ "Failed to %s unit, file \"%s\" already exists and is a symlink to \"%s\".", |
|
+ verb, changes[i].path, changes[i].source); |
|
else |
|
- log_error_errno(changes[i].type_or_errno, |
|
- "Failed to %s unit, file \"%s\" already exists.", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, |
|
+ "Failed to %s unit, file \"%s\" already exists.", |
|
+ verb, changes[i].path); |
|
break; |
|
case -ERFKILL: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, unit %s is masked.", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, unit %s is masked.", |
|
+ verb, changes[i].path); |
|
break; |
|
case -EADDRNOTAVAIL: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, unit %s is transient or generated.", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, unit %s is transient or generated.", |
|
+ verb, changes[i].path); |
|
break; |
|
case -EBADSLT: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, invalid specifier in \"%s\".", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, invalid specifier in \"%s\".", |
|
+ verb, changes[i].path); |
|
break; |
|
case -EIDRM: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s %s, destination unit %s is a non-template unit.", |
|
- verb, changes[i].source, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s %s, destination unit %s is a non-template unit.", |
|
+ verb, changes[i].source, changes[i].path); |
|
break; |
|
case -EUCLEAN: |
|
- log_error_errno(changes[i].type_or_errno, |
|
- "Failed to %s unit, \"%s\" is not a valid unit name.", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, |
|
+ "Failed to %s unit, \"%s\" is not a valid unit name.", |
|
+ verb, changes[i].path); |
|
break; |
|
case -ELOOP: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, refusing to operate on linked unit file %s.", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, refusing to operate on linked unit file %s.", |
|
+ verb, changes[i].path); |
|
break; |
|
case -ENOENT: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, unit %s does not exist.", verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, unit %s does not exist.", |
|
+ verb, changes[i].path); |
|
break; |
|
case -EUNATCH: |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, cannot resolve specifiers in \"%s\".", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, cannot resolve specifiers in \"%s\".", |
|
+ verb, changes[i].path); |
|
break; |
|
default: |
|
assert(changes[i].type_or_errno < 0); |
|
- log_error_errno(changes[i].type_or_errno, "Failed to %s unit, file \"%s\": %m", |
|
- verb, changes[i].path); |
|
- logged = true; |
|
+ err = log_error_errno(changes[i].type_or_errno, "Failed to %s unit, file \"%s\": %m", |
|
+ verb, changes[i].path); |
|
} |
|
} |
|
|
|
- if (r < 0 && !logged) |
|
+ if (r < 0 && err >= 0) |
|
log_error_errno(r, "Failed to %s: %m.", verb); |
|
} |
|
|
|
|