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

Diff for /mandoc/html.c between version 1.37 and 1.38

version 1.37, 2009/09/20 17:24:57 version 1.38, 2009/09/20 17:48:13
Line 1271  mdoc_tbl_block_pre(MDOC_ARGS, int t, int w, int o, int
Line 1271  mdoc_tbl_block_pre(MDOC_ARGS, int t, int w, int o, int
         struct htmlpair  tag;          struct htmlpair  tag;
   
         switch (t) {          switch (t) {
           case (MDOC_Column):
                   /* FALLTHROUGH */
         case (MDOC_Item):          case (MDOC_Item):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Ohang):          case (MDOC_Ohang):
Line 1281  mdoc_tbl_block_pre(MDOC_ARGS, int t, int w, int o, int
Line 1283  mdoc_tbl_block_pre(MDOC_ARGS, int t, int w, int o, int
                 break;                  break;
         }          }
   
   
         if ( ! c && n->prev && n->prev->body->child)          if ( ! c && n->prev && n->prev->body->child)
                 bufcat("padding-top: 1em;");                  bufcat("padding-top: 1em;");
   
Line 1316  mdoc_tbl_head_pre(MDOC_ARGS, int t, int w)
Line 1317  mdoc_tbl_head_pre(MDOC_ARGS, int t, int w)
         case (MDOC_Ohang):          case (MDOC_Ohang):
                 print_otag(h, TAG_DIV, 0, NULL);                  print_otag(h, TAG_DIV, 0, NULL);
                 break;                  break;
           case (MDOC_Column):
                   buffmt("min-width: %dem;", w);
                   bufcat("clear: none;");
                   if (n->next && MDOC_HEAD == n->next->type)
                           bufcat("float: left;");
                   tag.key = ATTR_STYLE;
                   tag.val = buf;
                   print_otag(h, TAG_DIV, 1, &tag);
                   break;
         default:          default:
                 buffmt("margin-left: -%dem;", w);                  buffmt("margin-left: -%dem;", w);
                 bufcat("clear: left;");                  bufcat("clear: left;");
Line 1360  mdoc_tbl_head_pre(MDOC_ARGS, int t, int w)
Line 1370  mdoc_tbl_head_pre(MDOC_ARGS, int t, int w)
 static int  static int
 mdoc_tbl_pre(MDOC_ARGS, int type)  mdoc_tbl_pre(MDOC_ARGS, int type)
 {  {
         int                      i, w, o, c;          int                      i, w, o, c, wp;
         const struct mdoc_node  *bl;          const struct mdoc_node  *bl, *nn;
   
         bl = n->parent->parent;          bl = n->parent->parent;
         if (MDOC_BLOCK != n->type)          if (MDOC_BLOCK != n->type)
Line 1372  mdoc_tbl_pre(MDOC_ARGS, int type)
Line 1382  mdoc_tbl_pre(MDOC_ARGS, int type)
         assert(bl->args);          assert(bl->args);
   
         w = o = c = 0;          w = o = c = 0;
           wp = -1;
   
         for (i = 0; i < (int)bl->args->argc; i++)          for (i = 0; i < (int)bl->args->argc; i++)
                 if (MDOC_Width == bl->args->argv[i].arg) {                  if (MDOC_Width == bl->args->argv[i].arg) {
                         assert(bl->args->argv[i].sz);                          assert(bl->args->argv[i].sz);
                           wp = i;
                         w = a2width(bl->args->argv[i].value[0]);                          w = a2width(bl->args->argv[i].value[0]);
                 } else if (MDOC_Offset == bl->args->argv[i].arg) {                  } else if (MDOC_Offset == bl->args->argv[i].arg) {
                         assert(bl->args->argv[i].sz);                          assert(bl->args->argv[i].sz);
                         o = a2offs(bl->args->argv[i].value[0]);                          o = a2offs(bl->args->argv[i].value[0]);
                 } else if (MDOC_Compact == bl->args->argv[i].arg)                  } else if (MDOC_Compact == bl->args->argv[i].arg)
                         c = 1;                          c = 1;
   
           if (MDOC_HEAD == n->type && MDOC_Column == type) {
                   nn = n->parent->child;
                   assert(nn && MDOC_HEAD == nn->type);
                   for (i = 0; nn && nn != n; nn = nn->next, i++)
                           /* Counter... */ ;
                   assert(nn);
                   if (wp >= 0 && i < (int)bl->args[wp].argv->sz)
                           w = a2width(bl->args->argv[wp].value[i]);
           }
   
         switch (type) {          switch (type) {
         case (MDOC_Enum):          case (MDOC_Enum):

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.38

CVSweb