]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/vconsole/vconsole-setup.c
vconsole-setup: simplify error handling
[thirdparty/systemd.git] / src / vconsole / vconsole-setup.c
index 5f595bf12413da9fc4231899da0bfe00b784be20..73fc0f22da7529c3dd55608c2131cef2284d34a3 100644 (file)
@@ -512,8 +512,8 @@ static int find_source_vc(char **ret_path, unsigned *ret_idx) {
 
                 r = verify_vc_allocation(i);
                 if (r < 0) {
-                        if (!err)
-                                err = -r;
+                        log_debug_errno(r, "VC %u existance check failed, skipping: %m", i);
+                        RET_GATHER(err, r);
                         continue;
                 }
 
@@ -522,14 +522,14 @@ static int find_source_vc(char **ret_path, unsigned *ret_idx) {
 
                 fd = open_terminal(path, O_RDWR|O_CLOEXEC|O_NOCTTY);
                 if (fd < 0) {
-                        if (!err)
-                                err = -fd;
+                        log_debug_errno(fd, "Failed to open terminal %s, ignoring: %m", path);
+                        RET_GATHER(err, r);
                         continue;
                 }
                 r = verify_vc_kbmode(fd);
                 if (r < 0) {
-                        if (!err)
-                                err = -r;
+                        log_debug_errno(r, "Failed to check VC %s keyboard mode: %m", path);
+                        RET_GATHER(err, r);
                         continue;
                 }