diff options
Diffstat (limited to 'src/journal')
-rw-r--r-- | src/journal/journalctl.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index e2600542fc..8e52dd522b 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -32,6 +32,8 @@ #include <sys/stat.h> #include <sys/ioctl.h> #include <linux/fs.h> +#include <locale.h> +#include <langinfo.h> #include <systemd/sd-journal.h> @@ -634,8 +636,13 @@ static int setup_keys(void) { fprintf(stderr, "\nThe keys have been generated for host " SD_ID128_FORMAT_STR ".\n", SD_ID128_FORMAT_VAL(machine)); #ifdef HAVE_QRENCODE - fprintf(stderr, "\nTo transfer the verification key to your phone please scan the QR code below:\n\n"); - print_qr_code(stderr, seed, seed_size, n, arg_interval, hn, machine); + /* If this is not an UTF-8 system don't print any QR codes */ + setlocale(LC_CTYPE, ""); + + if (streq_ptr(nl_langinfo(CODESET), "UTF-8")) { + fputs("\nTo transfer the verification key to your phone please scan the QR code below:\n\n", stderr); + print_qr_code(stderr, seed, seed_size, n, arg_interval, hn, machine); + } #endif free(hn); } |