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

Diff for /mandoc/tree.c between version 1.54 and 1.58

version 1.54, 2014/08/10 23:54:41 version 1.58, 2014/10/10 15:26:29
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 265  print_box(const struct eqn_box *ep, int indent)
Line 265  print_box(const struct eqn_box *ep, int indent)
         int              i;          int              i;
         const char      *t;          const char      *t;
   
           static const char *posnames[] = {
               NULL, "sup", "subsup", "sub",
               "to", "from", "fromto",
               "over", "sqrt", NULL };
   
         if (NULL == ep)          if (NULL == ep)
                 return;                  return;
         for (i = 0; i < indent; i++)          for (i = 0; i < indent; i++)
Line 275  print_box(const struct eqn_box *ep, int indent)
Line 280  print_box(const struct eqn_box *ep, int indent)
         case EQN_ROOT:          case EQN_ROOT:
                 t = "eqn-root";                  t = "eqn-root";
                 break;                  break;
           case EQN_LISTONE:
         case EQN_LIST:          case EQN_LIST:
                 t = "eqn-list";                  t = "eqn-list";
                 break;                  break;
Line 284  print_box(const struct eqn_box *ep, int indent)
Line 290  print_box(const struct eqn_box *ep, int indent)
         case EQN_TEXT:          case EQN_TEXT:
                 t = "eqn-text";                  t = "eqn-text";
                 break;                  break;
           case EQN_PILE:
                   t = "eqn-pile";
                   break;
         case EQN_MATRIX:          case EQN_MATRIX:
                 t = "eqn-matrix";                  t = "eqn-matrix";
                 break;                  break;
         }          }
   
         assert(t);          fputs(t, stdout);
         printf("%s(%d, %d, %d, %d, %d, \"%s\", \"%s\") %s\n",          if (ep->pos)
             t, EQN_DEFSIZE == ep->size ? 0 : ep->size,                  printf(" pos=%s", posnames[ep->pos]);
             ep->pos + 1, ep->font, ep->mark, ep->pile,          if (ep->left)
             ep->left ? ep->left : "",                  printf(" left=\"%s\"", ep->left);
             ep->right ? ep->right : "",          if (ep->right)
             ep->text ? ep->text : "");                  printf(" right=\"%s\"", ep->right);
           if (ep->top)
                   printf(" top=\"%s\"", ep->top);
           if (ep->bottom)
                   printf(" bottom=\"%s\"", ep->bottom);
           if (ep->text)
                   printf(" text=\"%s\"", ep->text);
           if (ep->font)
                   printf(" font=%d", ep->font);
           if (ep->size != EQN_DEFSIZE)
                   printf(" size=%d", ep->size);
           if (ep->expectargs != UINT_MAX && ep->expectargs != ep->args)
                   printf(" badargs=%zu(%zu)", ep->args, ep->expectargs);
           else if (ep->args)
                   printf(" args=%zu", ep->args);
           putchar('\n');
   
         print_box(ep->first, indent + 1);          print_box(ep->first, indent + 1);
         print_box(ep->next, indent);          print_box(ep->next, indent);

Legend:
Removed from v.1.54  
changed lines
  Added in v.1.58

CVSweb