[BACK]Return to term_ascii.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/term_ascii.c between version 1.39 and 1.43

version 1.39, 2014/10/28 18:49:33 version 1.43, 2015/02/16 14:11:41
Line 63  ascii_init(enum termenc enc, const struct mchars *mcha
Line 63  ascii_init(enum termenc enc, const struct mchars *mcha
         const char      *toks[5];          const char      *toks[5];
         char            *v;          char            *v;
         struct termp    *p;          struct termp    *p;
           const char      *errstr;
           int             num;
   
         p = mandoc_calloc(1, sizeof(struct termp));          p = mandoc_calloc(1, sizeof(struct termp));
   
         p->symtab = mchars;          p->symtab = mchars;
         p->tabwidth = 5;          p->tabwidth = 5;
         p->defrmargin = p->lastrmargin = 78;          p->defrmargin = p->lastrmargin = 78;
           p->fontq = mandoc_reallocarray(NULL,
                (p->fontsz = 8), sizeof(enum termfont));
           p->fontq[0] = p->fontl = TERMFONT_NONE;
   
         p->begin = ascii_begin;          p->begin = ascii_begin;
         p->end = ascii_end;          p->end = ascii_end;
Line 106  ascii_init(enum termenc enc, const struct mchars *mcha
Line 111  ascii_init(enum termenc enc, const struct mchars *mcha
         while (outopts && *outopts)          while (outopts && *outopts)
                 switch (getsubopt(&outopts, UNCONST(toks), &v)) {                  switch (getsubopt(&outopts, UNCONST(toks), &v)) {
                 case 0:                  case 0:
                         p->defindent = (size_t)atoi(v);                          num = strtonum(v, 0, 1000, &errstr);
                           if (!errstr)
                                   p->defindent = num;
                         break;                          break;
                 case 1:                  case 1:
                         p->defrmargin = (size_t)atoi(v);                          num = strtonum(v, 0, 1000, &errstr);
                           if (!errstr)
                                   p->defrmargin = num;
                         break;                          break;
                 case 2:                  case 2:
                         /*                          /*
Line 159  ascii_setwidth(struct termp *p, int iop, size_t width)
Line 168  ascii_setwidth(struct termp *p, int iop, size_t width)
 {  {
   
         p->rmargin = p->defrmargin;          p->rmargin = p->defrmargin;
         if (0 < iop)          if (iop > 0)
                 p->defrmargin += width;                  p->defrmargin += width;
         else if (0 > iop)          else if (iop == 0)
                   p->defrmargin = width ? width : p->lastrmargin;
           else if (p->defrmargin > width)
                 p->defrmargin -= width;                  p->defrmargin -= width;
         else          else
                 p->defrmargin = width ? width : p->lastrmargin;                  p->defrmargin = 0;
         p->lastrmargin = p->rmargin;          p->lastrmargin = p->rmargin;
         p->rmargin = p->maxrmargin = p->defrmargin;          p->rmargin = p->maxrmargin = p->defrmargin;
   }
   
   void
   ascii_sepline(void *arg)
   {
           struct termp    *p;
           size_t           i;
   
           p = (struct termp *)arg;
           putchar('\n');
           for (i = 0; i < p->defrmargin; i++)
                   putchar('-');
           putchar('\n');
           putchar('\n');
 }  }
   
 static size_t  static size_t

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.43

CVSweb