chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
importd: create a loopback btrfs file system for /var/lib/machines, if necessary
[elogind.git]
/
src
/
vconsole
/
vconsole-setup.c
diff --git
a/src/vconsole/vconsole-setup.c
b/src/vconsole/vconsole-setup.c
index 5bd0b9b1430f9b81fc7940ca42f3e4c9b4259115..bf681d9f3ab5aee5f302a32aca6bc68ca564e739 100644
(file)
--- a/
src/vconsole/vconsole-setup.c
+++ b/
src/vconsole/vconsole-setup.c
@@
-23,21
+23,16
@@
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
-#include <string.h>
#include <fcntl.h>
#include <fcntl.h>
-#include <ctype.h>
#include <stdbool.h>
#include <stdbool.h>
-#include <stdarg.h>
#include <limits.h>
#include <sys/ioctl.h>
#include <limits.h>
#include <sys/ioctl.h>
-#include <sys/wait.h>
#include <linux/tiocl.h>
#include <linux/kd.h>
#include <linux/vt.h>
#include "util.h"
#include "log.h"
#include <linux/tiocl.h>
#include <linux/kd.h>
#include <linux/vt.h>
#include "util.h"
#include "log.h"
-#include "macro.h"
#include "virt.h"
#include "fileio.h"
#include "virt.h"
#include "fileio.h"
@@
-54,8
+49,9
@@
static int disable_utf8(int fd) {
if (ioctl(fd, KDSKBMODE, K_XLATE) < 0)
r = -errno;
if (ioctl(fd, KDSKBMODE, K_XLATE) < 0)
r = -errno;
- if (loop_write(fd, "\033%@", 3, false) < 0)
- r = -errno;
+ k = loop_write(fd, "\033%@", 3, false);
+ if (k < 0)
+ r = k;
k = write_string_file("/sys/module/vt/parameters/default_utf8", "0");
if (k < 0)
k = write_string_file("/sys/module/vt/parameters/default_utf8", "0");
if (k < 0)
@@
-86,8
+82,9
@@
static int enable_utf8(int fd) {
r = -errno;
}
r = -errno;
}
- if (loop_write(fd, "\033%G", 3, false) < 0)
- r = -errno;
+ k = loop_write(fd, "\033%G", 3, false);
+ if (k < 0)
+ r = k;
k = write_string_file("/sys/module/vt/parameters/default_utf8", "1");
if (k < 0)
k = write_string_file("/sys/module/vt/parameters/default_utf8", "1");
if (k < 0)
@@
-122,10
+119,9
@@
static int keymap_load(const char *vc, const char *map, const char *map_toggle,
args[i++] = NULL;
pid = fork();
args[i++] = NULL;
pid = fork();
- if (pid < 0) {
- log_error("Failed to fork: %m");
- return -errno;
- } else if (pid == 0) {
+ if (pid < 0)
+ return log_error_errno(errno, "Failed to fork: %m");
+ else if (pid == 0) {
execv(args[0], (char **) args);
_exit(EXIT_FAILURE);
}
execv(args[0], (char **) args);
_exit(EXIT_FAILURE);
}
@@
-160,10
+156,9
@@
static int font_load(const char *vc, const char *font, const char *map, const ch
args[i++] = NULL;
pid = fork();
args[i++] = NULL;
pid = fork();
- if (pid < 0) {
- log_error("Failed to fork: %m");
- return -errno;
- } else if (pid == 0) {
+ if (pid < 0)
+ return log_error_errno(errno, "Failed to fork: %m");
+ else if (pid == 0) {
execv(args[0], (char **) args);
_exit(EXIT_FAILURE);
}
execv(args[0], (char **) args);
_exit(EXIT_FAILURE);
}
@@
-262,7
+257,7
@@
int main(int argc, char **argv) {
fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
if (fd < 0) {
fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
if (fd < 0) {
- log_error
(
"Failed to open %s: %m", vc);
+ log_error
_errno(errno,
"Failed to open %s: %m", vc);
return EXIT_FAILURE;
}
return EXIT_FAILURE;
}
@@
-310,7
+305,7
@@
int main(int argc, char **argv) {
}
if (font_pid > 0)
}
if (font_pid > 0)
- wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
+ wait_for_terminate_and_warn(KBD_SETFONT, font_pid
, true
);
r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
if (r < 0) {
r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
if (r < 0) {
@@
-319,7
+314,7
@@
int main(int argc, char **argv) {
}
if (keymap_pid > 0)
}
if (keymap_pid > 0)
- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
+ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid
, true
);
/* Only copy the font when we started setfont successfully */
if (font_copy && font_pid > 0)
/* Only copy the font when we started setfont successfully */
if (font_copy && font_pid > 0)