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

Diff for /mandoc/mdoc_term.c between version 1.360 and 1.361

version 1.360, 2017/06/04 18:50:35 version 1.361, 2017/06/04 22:44:15
Line 1413  termp_fa_pre(DECL_ARGS)
Line 1413  termp_fa_pre(DECL_ARGS)
 static int  static int
 termp_bd_pre(DECL_ARGS)  termp_bd_pre(DECL_ARGS)
 {  {
         size_t                   lm, len, rm, rmax;          size_t                   lm, len;
         struct roff_node        *nn;          struct roff_node        *nn;
         int                      offset;          int                      offset;
   
Line 1460  termp_bd_pre(DECL_ARGS)
Line 1460  termp_bd_pre(DECL_ARGS)
         }          }
   
         lm = p->offset;          lm = p->offset;
         rm = p->rmargin;          p->flags |= TERMP_BRNEVER;
         rmax = p->maxrmargin;  
         p->rmargin = p->maxrmargin = TERM_MAXMARGIN;  
   
         for (nn = n->child; nn; nn = nn->next) {          for (nn = n->child; nn; nn = nn->next) {
                 if (DISP_centered == n->norm->Bd.type) {                  if (DISP_centered == n->norm->Bd.type) {
                         if (nn->type == ROFFT_TEXT) {                          if (nn->type == ROFFT_TEXT) {
                                 len = term_strlen(p, nn->string);                                  len = term_strlen(p, nn->string);
                                 p->offset = len >= rm ? 0 :                                  p->offset = len >= p->rmargin ? 0 :
                                     lm + len >= rm ? rm - len :                                      lm + len >= p->rmargin ? p->rmargin - len :
                                     (lm + rm - len) / 2;                                      (lm + p->rmargin - len) / 2;
                         } else                          } else
                                 p->offset = lm;                                  p->offset = lm;
                 }                  }
Line 1500  termp_bd_pre(DECL_ARGS)
Line 1497  termp_bd_pre(DECL_ARGS)
                 term_flushln(p);                  term_flushln(p);
                 p->flags |= TERMP_NOSPACE;                  p->flags |= TERMP_NOSPACE;
         }          }
           p->flags &= ~TERMP_BRNEVER;
         p->rmargin = rm;  
         p->maxrmargin = rmax;  
         return 0;          return 0;
 }  }
   
 static void  static void
 termp_bd_post(DECL_ARGS)  termp_bd_post(DECL_ARGS)
 {  {
         size_t           rm, rmax;  
   
         if (n->type != ROFFT_BODY)          if (n->type != ROFFT_BODY)
                 return;                  return;
   
         rm = p->rmargin;  
         rmax = p->maxrmargin;  
   
         if (DISP_literal == n->norm->Bd.type ||          if (DISP_literal == n->norm->Bd.type ||
             DISP_unfilled == n->norm->Bd.type)              DISP_unfilled == n->norm->Bd.type)
                 p->rmargin = p->maxrmargin = TERM_MAXMARGIN;                  p->flags |= TERMP_BRNEVER;
   
         p->flags |= TERMP_NOSPACE;          p->flags |= TERMP_NOSPACE;
         term_newln(p);          term_newln(p);
           p->flags &= ~TERMP_BRNEVER;
         p->rmargin = rm;  
         p->maxrmargin = rmax;  
 }  }
   
 static int  static int

Legend:
Removed from v.1.360  
changed lines
  Added in v.1.361

CVSweb