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

Diff for /mandoc/tree.c between version 1.86 and 1.89

version 1.86, 2020/02/27 21:43:45 version 1.89, 2020/04/08 11:56:04
Line 1 
Line 1 
 /*      $Id$ */  /* $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>  
  * Copyright (c) 2013-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2013-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org>
    * Copyright (c) 2008, 2009, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 14 
Line 14 
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    *
    * Formatting module to let mandoc(1) show
    * a human readable representation of the syntax tree.
  */   */
 #include "config.h"  #include "config.h"
   
Line 33 
Line 36 
 #include "eqn.h"  #include "eqn.h"
 #include "main.h"  #include "main.h"
   
   static  void    print_attr(const struct roff_node *);
 static  void    print_box(const struct eqn_box *, int);  static  void    print_box(const struct eqn_box *, int);
 static  void    print_cellt(enum tbl_cellt);  static  void    print_cellt(enum tbl_cellt);
 static  void    print_man(const struct roff_node *, int);  static  void    print_man(const struct roff_node *, int);
Line 188  print_mdoc(const struct roff_node *n, int indent)
Line 192  print_mdoc(const struct roff_node *n, int indent)
                         if (argv[i].sz > 0)                          if (argv[i].sz > 0)
                                 printf(" ]");                                  printf(" ]");
                 }                  }
                   print_attr(n);
                 putchar(' ');  
                 if (n->flags & NODE_DELIMO)  
                         putchar('(');  
                 if (n->flags & NODE_LINE)  
                         putchar('*');  
                 printf("%d:%d", n->line, n->pos + 1);  
                 if (n->flags & NODE_DELIMC)  
                         putchar(')');  
                 if (n->flags & NODE_EOS)  
                         putchar('.');  
                 if (n->flags & NODE_ID) {  
                         printf(" ID");  
                         if (n->string != NULL)  
                                 printf("=%s", n->string);  
                 }  
                 if (n->flags & NODE_HREF)  
                         printf(" HREF");  
                 if (n->flags & NODE_BROKEN)  
                         printf(" BROKEN");  
                 if (n->flags & NODE_NOFILL)  
                         printf(" NOFILL");  
                 if (n->flags & NODE_NOSRC)  
                         printf(" NOSRC");  
                 if (n->flags & NODE_NOPRT)  
                         printf(" NOPRT");  
                 putchar('\n');  
         }          }
   
         if (n->eqn)          if (n->eqn)
                 print_box(n->eqn->first, indent + 4);                  print_box(n->eqn->first, indent + 4);
         if (n->child)          if (n->child)
Line 297  print_man(const struct roff_node *n, int indent)
Line 274  print_man(const struct roff_node *n, int indent)
         } else {          } else {
                 for (i = 0; i < indent; i++)                  for (i = 0; i < indent; i++)
                         putchar(' ');                          putchar(' ');
                 printf("%s (%s) ", p, t);                  printf("%s (%s)", p, t);
                 if (n->flags & NODE_LINE)                  print_attr(n);
                         putchar('*');  
                 printf("%d:%d", n->line, n->pos + 1);  
                 if (n->flags & NODE_DELIMC)  
                         putchar(')');  
                 if (n->flags & NODE_EOS)  
                         putchar('.');  
                 if (n->flags & NODE_NOFILL)  
                         printf(" NOFILL");  
                 putchar('\n');  
         }          }
   
         if (n->eqn)          if (n->eqn)
                 print_box(n->eqn->first, indent + 4);                  print_box(n->eqn->first, indent + 4);
         if (n->child)          if (n->child)
Line 317  print_man(const struct roff_node *n, int indent)
Line 284  print_man(const struct roff_node *n, int indent)
                     (n->type == ROFFT_BLOCK ? 2 : 4));                      (n->type == ROFFT_BLOCK ? 2 : 4));
         if (n->next)          if (n->next)
                 print_man(n->next, indent);                  print_man(n->next, indent);
   }
   
   static void
   print_attr(const struct roff_node *n)
   {
           putchar(' ');
           if (n->flags & NODE_DELIMO)
                   putchar('(');
           if (n->flags & NODE_LINE)
                   putchar('*');
           printf("%d:%d", n->line, n->pos + 1);
           if (n->flags & NODE_DELIMC)
                   putchar(')');
           if (n->flags & NODE_EOS)
                   putchar('.');
           if (n->flags & NODE_ID) {
                   printf(" ID");
                   if (n->flags & NODE_HREF)
                           printf("=HREF");
           } else if (n->flags & NODE_HREF)
                   printf(" HREF");
           else if (n->tag != NULL)
                   printf(" STRAYTAG");
           if (n->tag != NULL)
                   printf("=%s", n->tag);
           if (n->flags & NODE_BROKEN)
                   printf(" BROKEN");
           if (n->flags & NODE_NOFILL)
                   printf(" NOFILL");
           if (n->flags & NODE_NOSRC)
                   printf(" NOSRC");
           if (n->flags & NODE_NOPRT)
                   printf(" NOPRT");
           putchar('\n');
 }  }
   
 static void  static void

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.89

CVSweb