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

Diff for /mandoc/term.c between version 1.23 and 1.24

version 1.23, 2009/02/25 23:18:50 version 1.24, 2009/02/26 14:56:27
Line 381  termp_it_pre(DECL_ARGS)
Line 381  termp_it_pre(DECL_ARGS)
   
         /* Get our list type. */          /* Get our list type. */
   
         for (i = 0; i < (int)bl->argc; i++)          for (type = -1, i = 0; i < (int)bl->argc; i++)
                 switch (bl->argv[i].arg) {                  switch (bl->argv[i].arg) {
                 case (MDOC_Bullet):                  case (MDOC_Bullet):
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
Line 391  termp_it_pre(DECL_ARGS)
Line 391  termp_it_pre(DECL_ARGS)
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 case (MDOC_Hyphen):                  case (MDOC_Hyphen):
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 case (MDOC_Item):  
                         /* FALLTHROUGH */  
                 case (MDOC_Tag):                  case (MDOC_Tag):
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 case (MDOC_Ohang):                  case (MDOC_Ohang):
                         type = bl->argv[i].arg;                          type = bl->argv[i].arg;
                         i = (int)bl->argc;                          i = (int)bl->argc;
                         break;                          break;
                 case (MDOC_Inset):                  default:
                         /* FALLTHROUGH */  
                 case (MDOC_Hang):  
                         /* FALLTHROUGH */  
                 case (MDOC_Diag):  
                         /* FALLTHROUGH */  
                 case (MDOC_Column):  
                         errx(1, "list type not supported");                          errx(1, "list type not supported");
                         /* NOTREACHED */                          /* NOTREACHED */
                 default:  
                         break;  
                 }                  }
   
           assert(-1 != type);
   
         /* Save our existing (inherited) margin and offset. */          /* Save our existing (inherited) margin and offset. */
   
         pair->offset = p->offset;          pair->offset = p->offset;
Line 419  termp_it_pre(DECL_ARGS)
Line 411  termp_it_pre(DECL_ARGS)
   
         /* Get list width and offset. */          /* Get list width and offset. */
   
         /* FIXME: auto-size. */  
         i = arg_getattr(MDOC_Width, bl->argc, bl->argv);          i = arg_getattr(MDOC_Width, bl->argc, bl->argv);
         width = i >= 0 ? arg_width(&bl->argv[i]) : 0;          width = i >= 0 ? arg_width(&bl->argv[i]) : 0;
   
Line 439  termp_it_pre(DECL_ARGS)
Line 430  termp_it_pre(DECL_ARGS)
                 width = width > 6 ? width : 6;                  width = width > 6 ? width : 6;
                 break;                  break;
         case (MDOC_Tag):          case (MDOC_Tag):
                   /* FIXME: auto-size. */
                 if (0 == width)                  if (0 == width)
                         errx(1, "need non-zero -width");                          errx(1, "need non-zero -width");
                 break;                  break;
Line 465  termp_it_pre(DECL_ARGS)
Line 457  termp_it_pre(DECL_ARGS)
                 else if (MDOC_BODY == node->type)                  else if (MDOC_BODY == node->type)
                         p->flags |= TERMP_NOLPAD;                          p->flags |= TERMP_NOLPAD;
                 break;                  break;
         case (MDOC_Ohang):          default:
                 break;                  break;
         }          }
   
Line 475  termp_it_pre(DECL_ARGS)
Line 467  termp_it_pre(DECL_ARGS)
          */           */
   
         tp = NULL;          tp = NULL;
   
         if (MDOC_HEAD == node->type) {          if (MDOC_HEAD == node->type) {
                 if (arg_hasattr(MDOC_Bullet, bl->argc, bl->argv))                  if (arg_hasattr(MDOC_Bullet, bl->argc, bl->argv))
                         tp = "\\[bu]";                          tp = "\\[bu]";
Line 488  termp_it_pre(DECL_ARGS)
Line 481  termp_it_pre(DECL_ARGS)
                 }                  }
                 if (arg_hasattr(MDOC_Hyphen, bl->argc, bl->argv))                  if (arg_hasattr(MDOC_Hyphen, bl->argc, bl->argv))
                         tp = "\\-";                          tp = "\\-";
                 if (arg_hasattr(MDOC_Item, bl->argc, bl->argv))  
                         tp = "";  
         }          }
   
         /* Margin control. */          /* Margin control. */
Line 505  termp_it_pre(DECL_ARGS)
Line 496  termp_it_pre(DECL_ARGS)
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Hyphen):          case (MDOC_Hyphen):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Item):  
                 /* FALLTHROUGH */  
         case (MDOC_Tag):          case (MDOC_Tag):
                 if (MDOC_HEAD == node->type)                  if (MDOC_HEAD == node->type)
                         p->rmargin = p->offset + width;                          p->rmargin = p->offset + width;
                 else if (MDOC_BODY == node->type)                  else if (MDOC_BODY == node->type)
                         p->offset += width;                          p->offset += width;
                 break;                  break;
         case (MDOC_Ohang):          default:
                 break;                  break;
         }          }
   
         if (NULL == tp)          if (NULL == tp)
                 return(1);                  return(1);
   
         /* XXX - ignoring children. */  
   
         word(p, tp);          word(p, tp);
         return(0);          return(0);

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

CVSweb