summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-11-28 14:23:06 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-11-28 14:23:06 +0000
commitdb1390e39e0751b57a677bb7edf1f467c164f584 (patch)
treec3682ff453475045cb78032de80c99b06d1cc165
parent005d9debfac968da4a1e3d86e3e4f65ec7890c08 (diff)
downloadmandoc-db1390e39e0751b57a677bb7edf1f467c164f584.tar.gz
Bugfix: never set termp->enc to the ambiguous value TERMENC_LOCALE,
but instead set it to TERMENC_UTF8 or TERMENC_ASCII. Makes tbl(7) box drawing work under -T locale (that is, by default when LC_CTYPE is defined appropriately).
-rw-r--r--term_ascii.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/term_ascii.c b/term_ascii.c
index e1cb0546..1c3ecc90 100644
--- a/term_ascii.c
+++ b/term_ascii.c
@@ -90,7 +90,7 @@ ascii_init(enum termenc enc, const struct manoutput *outopts)
p->width = ascii_width;
#if HAVE_WCHAR
- if (TERMENC_ASCII != enc) {
+ if (enc != TERMENC_ASCII) {
/*
* Do not change any of this to LC_ALL. It might break
@@ -99,7 +99,7 @@ ascii_init(enum termenc enc, const struct manoutput *outopts)
* worst case, it might even cause buffer overflows.
*/
- v = TERMENC_LOCALE == enc ?
+ v = enc == TERMENC_LOCALE ?
setlocale(LC_CTYPE, "") :
setlocale(LC_CTYPE, UTF8_LOCALE);
@@ -113,7 +113,7 @@ ascii_init(enum termenc enc, const struct manoutput *outopts)
v = setlocale(LC_CTYPE, "C");
if (v != NULL && MB_CUR_MAX > 1) {
- p->enc = enc;
+ p->enc = TERMENC_UTF8;
p->advance = locale_advance;
p->endline = locale_endline;
p->letter = locale_letter;