summaryrefslogtreecommitdiffstats
path: root/term_ascii.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-05-17 14:38:34 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-05-17 14:38:34 +0000
commitae85c53a20e295bcb9eecc8a2d24955c35392839 (patch)
tree7d3d87904670286bd0a6abf5b99ccafe1e05cbfa /term_ascii.c
parent7585ce47e0934f9b0eabd76bf7000d02950e6e1c (diff)
downloadmandoc-ae85c53a20e295bcb9eecc8a2d24955c35392839.tar.gz
Add mode for -Tlocale. This mode, with this commit, behaves exactly
like -Tascii. While adding this, inline term_alloc() (was a one-liner), remove some switches around the terminal encoding for the symbol table (unnecessary), and split out ascii_alloc() into ascii_init(), which is also called from locale_init().
Diffstat (limited to 'term_ascii.c')
-rw-r--r--term_ascii.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/term_ascii.c b/term_ascii.c
index d3f29d02..831621b3 100644
--- a/term_ascii.c
+++ b/term_ascii.c
@@ -31,6 +31,7 @@
#include "term.h"
#include "main.h"
+static struct termp *ascii_init(enum termenc, char *);
static double ascii_hspan(const struct termp *,
const struct roffsu *);
static size_t ascii_width(const struct termp *, int);
@@ -40,15 +41,15 @@ static void ascii_end(struct termp *);
static void ascii_endline(struct termp *);
static void ascii_letter(struct termp *, int);
-
-void *
-ascii_alloc(char *outopts)
+static struct termp *
+ascii_init(enum termenc enc, char *outopts)
{
- struct termp *p;
const char *toks[2];
char *v;
+ struct termp *p;
- p = term_alloc(TERMENC_ASCII);
+ p = mandoc_calloc(1, sizeof(struct termp));
+ p->enc = enc;
p->tabwidth = 5;
p->defrmargin = 78;
@@ -81,6 +82,19 @@ ascii_alloc(char *outopts)
return(p);
}
+void *
+ascii_alloc(char *outopts)
+{
+
+ return(ascii_init(TERMENC_ASCII, outopts));
+}
+
+void *
+locale_alloc(char *outopts)
+{
+
+ return(ascii_init(TERMENC_LOCALE, outopts));
+}
/* ARGSUSED */
static size_t