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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2024-10-28 13:51:25 +01:00
parent 439306da8b
commit abf1cae0a7
2 changed files with 5 additions and 5 deletions

View File

@@ -143,7 +143,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,
@@ -206,13 +206,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)
@@ -228,7 +228,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"