]> git.cameronkatri.com Git - mandoc.git/blobdiff - term_ascii.c
When finding a bogus database entry,
[mandoc.git] / term_ascii.c
index 970416198a507983e4b1c98c9b21fdf7883c15ad..e819c0ef8a86ede20881f3b3a0e9cd84b13aef1a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: term_ascii.c,v 1.56 2017/05/08 15:34:54 schwarze Exp $ */
+/*     $Id: term_ascii.c,v 1.58 2017/06/14 14:24:20 schwarze Exp $ */
 /*
  * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
 /*
  * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -65,12 +65,14 @@ ascii_init(enum termenc enc, const struct manoutput *outopts)
 #endif
        struct termp    *p;
 
 #endif
        struct termp    *p;
 
-       p = mandoc_calloc(1, sizeof(struct termp));
+       p = mandoc_calloc(1, sizeof(*p));
+       p->tcol = p->tcols = mandoc_calloc(1, sizeof(*p->tcol));
+       p->maxtcol = 1;
 
        p->line = 1;
        p->defrmargin = p->lastrmargin = 78;
        p->fontq = mandoc_reallocarray(NULL,
 
        p->line = 1;
        p->defrmargin = p->lastrmargin = 78;
        p->fontq = mandoc_reallocarray(NULL,
-            (p->fontsz = 8), sizeof(enum termfont));
+            (p->fontsz = 8), sizeof(*p->fontq));
        p->fontq[0] = p->fontl = TERMFONT_NONE;
 
        p->begin = ascii_begin;
        p->fontq[0] = p->fontl = TERMFONT_NONE;
 
        p->begin = ascii_begin;
@@ -148,7 +150,7 @@ ascii_setwidth(struct termp *p, int iop, int width)
 {
 
        width /= 24;
 {
 
        width /= 24;
-       p->rmargin = p->defrmargin;
+       p->tcol->rmargin = p->defrmargin;
        if (iop > 0)
                p->defrmargin += width;
        else if (iop == 0)
        if (iop > 0)
                p->defrmargin += width;
        else if (iop == 0)
@@ -157,8 +159,8 @@ ascii_setwidth(struct termp *p, int iop, int width)
                p->defrmargin -= width;
        else
                p->defrmargin = 0;
                p->defrmargin -= width;
        else
                p->defrmargin = 0;
-       p->lastrmargin = p->rmargin;
-       p->rmargin = p->maxrmargin = p->defrmargin;
+       p->lastrmargin = p->tcol->rmargin;
+       p->tcol->rmargin = p->maxrmargin = p->defrmargin;
 }
 
 void
 }
 
 void
@@ -215,7 +217,7 @@ ascii_endline(struct termp *p)
 {
 
        p->line++;
 {
 
        p->line++;
-       p->offset -= p->ti;
+       p->tcol->offset -= p->ti;
        p->ti = 0;
        putchar('\n');
 }
        p->ti = 0;
        putchar('\n');
 }
@@ -291,7 +293,7 @@ ascii_uc2str(int uc)
        "<80>", "<81>", "<82>", "<83>", "<84>", "<85>", "<86>", "<87>",
        "<88>", "<89>", "<8A>", "<8B>", "<8C>", "<8D>", "<8E>", "<8F>",
        "<90>", "<91>", "<92>", "<93>", "<94>", "<95>", "<96>", "<97>",
        "<80>", "<81>", "<82>", "<83>", "<84>", "<85>", "<86>", "<87>",
        "<88>", "<89>", "<8A>", "<8B>", "<8C>", "<8D>", "<8E>", "<8F>",
        "<90>", "<91>", "<92>", "<93>", "<94>", "<95>", "<96>", "<97>",
-       "<99>", "<99>", "<9A>", "<9B>", "<9C>", "<9D>", "<9E>", "<9F>",
+       "<98>", "<99>", "<9A>", "<9B>", "<9C>", "<9D>", "<9E>", "<9F>",
        nbrsp,  "!",    "/\bc", "GBP",  "o\bx", "=\bY", "|",    "<sec>",
        "\"",   "(C)",  "_\ba", "<<",   "~",    "",     "(R)",  "-",
        "<deg>","+-",   "2",    "3",    "'",    ",\bu", "<par>",".",
        nbrsp,  "!",    "/\bc", "GBP",  "o\bx", "=\bY", "|",    "<sec>",
        "\"",   "(C)",  "_\ba", "<<",   "~",    "",     "(R)",  "-",
        "<deg>","+-",   "2",    "3",    "'",    ",\bu", "<par>",".",
@@ -371,7 +373,7 @@ locale_endline(struct termp *p)
 {
 
        p->line++;
 {
 
        p->line++;
-       p->offset -= p->ti;
+       p->tcol->offset -= p->ti;
        p->ti = 0;
        putwchar(L'\n');
 }
        p->ti = 0;
        putwchar(L'\n');
 }