1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

bsod: make message for qrcode more useful

People know what a qrcode is. We don't need to tell them to scan it.
Instead, we should say what the code contains.

While at it, rename "stream" to "f" in line with the usual style.

(cherry picked from commit abf1cae0a7)
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2024-10-28 13:51:25 +01:00 committed by Luca Boccassi
parent e22d571f6b
commit 0ec7854d44
2 changed files with 5 additions and 5 deletions

View File

@ -144,7 +144,7 @@ static int display_emergency_message_fullscreen(const char *message) {
unsigned qr_code_start_row = 1, qr_code_start_column = 1;
char ttybuf[STRLEN("/dev/tty") + DECIMAL_STR_MAX(int) + 1];
_cleanup_close_ int fd = -EBADF;
_cleanup_fclose_ FILE *stream = NULL;
_cleanup_fclose_ FILE *f = NULL;
char read_character_buffer = '\0';
struct winsize w = {
.ws_col = 80,
@ -207,13 +207,13 @@ static int display_emergency_message_fullscreen(const char *message) {
goto cleanup;
}
r = fdopen_independent(fd, "r+", &stream);
r = fdopen_independent(fd, "r+", &f);
if (r < 0) {
r = log_error_errno(errno, "Failed to open output file: %m");
goto cleanup;
}
r = print_qrcode_full(stream, "Scan the QR code",
r = print_qrcode_full(f, "Scan the error message",
message, qr_code_start_row, qr_code_start_column, w.ws_col, w.ws_row,
/* check_tty= */ false);
if (r < 0)
@ -229,7 +229,7 @@ static int display_emergency_message_fullscreen(const char *message) {
goto cleanup;
}
r = read_one_char(stream, &read_character_buffer, USEC_INFINITY, NULL);
r = read_one_char(f, &read_character_buffer, USEC_INFINITY, NULL);
if (r < 0 && r != -EINTR)
log_error_errno(r, "Failed to read character: %m");

View File

@ -89,7 +89,7 @@ journalctl --sync
SYSTEMD_COLORS=256 /usr/lib/systemd/systemd-bsod &
PID=$!
vcs_dump_and_check "Root emergency message"
grep -aq "Scan the QR code" /tmp/console.dump
grep -aq "Scan the error message" /tmp/console.dump
# TODO: check if systemd-bsod exits on a key press (didn't figure this one out yet)
kill $PID
timeout 10 bash -c "while kill -0 $PID; do sleep .5; done"