aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Pawel Stefaniak <pstef@FreeBSD.org>2021-10-10 07:16:59 +0000
committerPiotr Pawel Stefaniak <pstef@FreeBSD.org>2021-10-11 17:02:12 +0000
commit8da27052535b816096dd28debe5bbbad3dcf4ea4 (patch)
tree8c5d34fbf6ada5e4a09d4bfb40fef4bbb0fa8b1e
parent902cde5d0a620a502468a95f7eecf1098e96bdcc (diff)
downloadsrc-8da27052535b816096dd28debe5bbbad3dcf4ea4.tar.gz
src-8da27052535b816096dd28debe5bbbad3dcf4ea4.zip
last: improve non-UTF8 locale output after libxo support was added
Some strftime(3) conversion specifications will generate strings encoded with the current locale, not necessarily UTF8. As per xo_format.5, use the h string modifier so that libxo interprets it appropriately. Reviewed by: eugen, philip Differential Revision: https://reviews.freebsd.org/D32437
-rw-r--r--usr.bin/last/last.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/last/last.c b/usr.bin/last/last.c
index 188f393ae3fc..4b6ac33b8df4 100644
--- a/usr.bin/last/last.c
+++ b/usr.bin/last/last.c
@@ -262,7 +262,7 @@ wtmp(void)
(void) strftime(ct, sizeof(ct), "%+", tm);
xo_emit("\n{:utxdb/%s}", (file == NULL) ? "utx.log" : file);
xo_attr("seconds", "%lu", (unsigned long) t);
- xo_emit(" begins {:begins/%s}\n", ct);
+ xo_emit(" begins {:begins/%hs}\n", ct);
xo_close_container("last-information");
}
@@ -379,7 +379,7 @@ printentry(struct utmpx *bp, struct idtab *tt)
break;
}
xo_attr("seconds", "%lu", (unsigned long)t);
- xo_emit(" {:login-time/%s%c/%s}", ct, tt == NULL ? '\n' : ' ');
+ xo_emit(" {:login-time/%hs%c/%s}", ct, tt == NULL ? '\n' : ' ');
if (tt == NULL)
goto end;
if (!tt->logout) {