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

Diff for /mandoc/demandoc.c between version 1.18 and 1.25

version 1.18, 2015/04/18 16:06:39 version 1.25, 2016/01/08 02:13:39
Line 44  int
Line 44  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         struct mparse   *mp;          struct mparse   *mp;
         struct mchars   *mchars;  
         int              ch, fd, i, list;          int              ch, fd, i, list;
         extern int       optind;          extern int       optind;
   
Line 73  main(int argc, char *argv[])
Line 72  main(int argc, char *argv[])
                         break;                          break;
                 default:                  default:
                         usage();                          usage();
                         return((int)MANDOCLEVEL_BADARG);                          return (int)MANDOCLEVEL_BADARG;
                 }                  }
   
         argc -= optind;          argc -= optind;
         argv += optind;          argv += optind;
   
         mchars = mchars_alloc();          mchars_alloc();
         mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, mchars, NULL);          mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, NULL);
         assert(mp);          assert(mp);
   
         if (argc < 1)          if (argc < 1)
Line 96  main(int argc, char *argv[])
Line 95  main(int argc, char *argv[])
         }          }
   
         mparse_free(mp);          mparse_free(mp);
         mchars_free(mchars);          mchars_free();
         return((int)MANDOCLEVEL_OK);          return (int)MANDOCLEVEL_OK;
 }  }
   
 static void  static void
Line 110  usage(void)
Line 109  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 *mdoc;  
         struct roff_man *man;          struct roff_man *man;
         int              line, col;          int              line, col;
   
         mparse_readfd(mp, fd, fn);          mparse_readfd(mp, fd, fn);
         mparse_result(mp, &mdoc, &man, NULL);          close(fd);
           mparse_result(mp, &man, NULL);
         line = 1;          line = 1;
         col = 0;          col = 0;
   
         if (mdoc)          if (man == NULL)
                 pmdoc(mdoc_node(mdoc), &line, &col, list);  
         else if (man)  
                 pman(man_node(man), &line, &col, list);  
         else  
                 return;                  return;
           if (man->macroset == MACROSET_MDOC) {
                   mdoc_validate(man);
                   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.18  
changed lines
  Added in v.1.25

CVSweb