aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/term_ascii.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-05-20 15:48:22 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-05-20 15:48:22 +0000
commitb2f39fae68970f2ba88e13f91f76cc3d0efd418a (patch)
tree3688c0cb9f53647505bcd55d2a334cc4415b903e /term_ascii.c
parent9bfe80df94664d8fccdb79c6ef919dc90956e925 (diff)
downloadmandoc-b2f39fae68970f2ba88e13f91f76cc3d0efd418a.tar.gz
mandoc-b2f39fae68970f2ba88e13f91f76cc3d0efd418a.tar.zst
mandoc-b2f39fae68970f2ba88e13f91f76cc3d0efd418a.zip
Flip on -Tutf8 backend support. This forces the UTF-8 LC_CTYPE and does
little else. Also remove the check for __STDC_ISO_10646__. It turns out that very few systems---even those that support it---actually declare this and it's just causing problems instead of being useful.
Diffstat (limited to 'term_ascii.c')
-rw-r--r--term_ascii.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/term_ascii.c b/term_ascii.c
index 3b4ca241..e65f590a 100644
--- a/term_ascii.c
+++ b/term_ascii.c
@@ -1,4 +1,4 @@
-/* $Id: term_ascii.c,v 1.16 2011/05/19 15:48:58 kristaps Exp $ */
+/* $Id: term_ascii.c,v 1.17 2011/05/20 15:48:22 kristaps Exp $ */
/*
* Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -89,15 +89,19 @@ ascii_init(enum termenc enc, char *outopts)
p->letter = ascii_letter;
p->width = ascii_width;
-#if defined (USE_WCHAR)
- if (TERMENC_LOCALE == enc)
- if (setlocale(LC_ALL, "") && MB_CUR_MAX > 1) {
+#ifdef USE_WCHAR
+ if (TERMENC_ASCII != enc) {
+ v = TERMENC_LOCALE == enc ?
+ setlocale(LC_ALL, "") :
+ setlocale(LC_CTYPE, "UTF-8");
+ if (NULL != v && MB_CUR_MAX > 1) {
p->enc = enc;
p->advance = locale_advance;
p->endline = locale_endline;
p->letter = locale_letter;
p->width = locale_width;
}
+ }
#endif
toks[0] = "width";
@@ -127,6 +131,14 @@ ascii_alloc(char *outopts)
}
void *
+utf8_alloc(char *outopts)
+{
+
+ return(ascii_init(TERMENC_UTF8, outopts));
+}
+
+
+void *
locale_alloc(char *outopts)
{