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

Diff for /mandoc/demandoc.c between version 1.31 and 1.34

version 1.31, 2018/12/14 01:18:25 version 1.34, 2022/04/14 16:43:43
Line 1 
Line 1 
 /*      $Id$ */  /* $Id$ */
 /*  /*
  * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
Line 26 
Line 26 
 #include <unistd.h>  #include <unistd.h>
   
 #include "mandoc.h"  #include "mandoc.h"
   #if DEBUG_MEMORY
   #define DEBUG_NODEF
   #include "mandoc_dbg.h"
   #endif
 #include "roff.h"  #include "roff.h"
 #include "man.h"  #include "man.h"
 #include "mdoc.h"  #include "mdoc.h"
Line 47  main(int argc, char *argv[])
Line 51  main(int argc, char *argv[])
         int              ch, fd, i, list;          int              ch, fd, i, list;
         extern int       optind;          extern int       optind;
   
   #if DEBUG_MEMORY
           mandoc_dbg_init(argc, argv);
   #endif
   
         if (argc < 1)          if (argc < 1)
                 progname = "demandoc";                  progname = "demandoc";
         else if ((progname = strrchr(argv[0], '/')) == NULL)          else if ((progname = strrchr(argv[0], '/')) == NULL)
Line 79  main(int argc, char *argv[])
Line 87  main(int argc, char *argv[])
         argv += optind;          argv += optind;
   
         mchars_alloc();          mchars_alloc();
         mp = mparse_alloc(MPARSE_SO, MANDOC_OS_OTHER, NULL);          mp = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1 |
               MPARSE_VALIDATE, MANDOC_OS_OTHER, NULL);
         assert(mp);          assert(mp);
   
         if (argc < 1)          if (argc < 1)
Line 96  main(int argc, char *argv[])
Line 105  main(int argc, char *argv[])
   
         mparse_free(mp);          mparse_free(mp);
         mchars_free();          mchars_free();
   #if DEBUG_MEMORY
           mandoc_dbg_finish();
   #endif
         return (int)MANDOCLEVEL_OK;          return (int)MANDOCLEVEL_OK;
 }  }
   
Line 109  usage(void)
Line 121  usage(void)
 static void  static void
 pmandoc(struct mparse *mp, int fd, const char *fn, int list)  pmandoc(struct mparse *mp, int fd, const char *fn, int list)
 {  {
         struct roff_man *man;          struct roff_meta        *meta;
         int              line, col;          int              line, col;
   
         mparse_readfd(mp, fd, fn);          mparse_readfd(mp, fd, fn);
         close(fd);          close(fd);
         mparse_result(mp, &man, NULL);          meta = mparse_result(mp);
         line = 1;          line = 1;
         col = 0;          col = 0;
   
         if (man == NULL)          if (meta->macroset == MACROSET_MDOC)
                 return;                  pmdoc(meta->first->child, &line, &col, list);
         if (man->macroset == MACROSET_MDOC) {          else
                 mdoc_validate(man);                  pman(meta->first->child, &line, &col, list);
                 pmdoc(man->first->child, &line, &col, list);  
         } else {  
                 man_validate(man);  
                 pman(man->first->child, &line, &col, list);  
         }  
   
         if ( ! list)          if ( ! list)
                 putchar('\n');                  putchar('\n');

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.34

CVSweb