summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-09-12 09:23:38 +0200
committerLennart Poettering <lennart@poettering.net>2012-09-12 09:23:38 +0200
commitcf5a3432117cfbe4249919d2e947295aa19879d3 (patch)
tree1a9c7c1169f033c40e96a4c9927926cf4bc06445
parentbb3241614a1a3a3ef68329dadc56e8fec090ff64 (diff)
journalctl: print QR code only if we are running on an UTF-8 system
-rw-r--r--src/journal/journalctl.c11
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);
}