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

Diff for /mandoc/mandocd.c between version 1.7 and 1.12

version 1.7, 2018/12/13 11:55:46 version 1.12, 2020/06/14 23:40:31
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2017 Michael Stapelberg <stapelberg@debian.org>   * Copyright (c) 2017 Michael Stapelberg <stapelberg@debian.org>
  * Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2017, 2019 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
  * 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 17 
Line 17 
  */   */
 #include "config.h"  #include "config.h"
   
 #if HAVE_CMSG_XPG42  #if NEED_XPG4_2
 #define _XPG4_2  #define _XPG4_2
 #endif  #endif
   
Line 171  main(int argc, char *argv[])
Line 171  main(int argc, char *argv[])
                 errx(1, "file descriptor %s %s", argv[1], errstr);                  errx(1, "file descriptor %s %s", argv[1], errstr);
   
         mchars_alloc();          mchars_alloc();
         parser = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1,          parser = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1 |
             MANDOCERR_MAX, NULL, MANDOC_OS_OTHER, defos);              MPARSE_VALIDATE, MANDOC_OS_OTHER, defos);
   
         memset(&options, 0, sizeof(options));          memset(&options, 0, sizeof(options));
         switch (outtype) {          switch (outtype) {
Line 213  main(int argc, char *argv[])
Line 213  main(int argc, char *argv[])
   
                 process(parser, outtype, formatter);                  process(parser, outtype, formatter);
                 mparse_reset(parser);                  mparse_reset(parser);
                   if (outtype == OUTT_HTML)
                           html_reset(formatter);
   
                 fflush(stdout);                  fflush(stdout);
                 fflush(stderr);                  fflush(stderr);
Line 244  main(int argc, char *argv[])
Line 246  main(int argc, char *argv[])
 static void  static void
 process(struct mparse *parser, enum outt outtype, void *formatter)  process(struct mparse *parser, enum outt outtype, void *formatter)
 {  {
         struct roff_man  *man;          struct roff_meta *meta;
   
         mparse_readfd(parser, STDIN_FILENO, "<unixfd>");          mparse_readfd(parser, STDIN_FILENO, "<unixfd>");
         mparse_result(parser, &man, NULL);          meta = mparse_result(parser);
           if (meta->macroset == MACROSET_MDOC) {
         if (man == NULL)  
                 return;  
   
         if (man->macroset == MACROSET_MDOC) {  
                 mdoc_validate(man);  
                 switch (outtype) {                  switch (outtype) {
                 case OUTT_ASCII:                  case OUTT_ASCII:
                 case OUTT_UTF8:                  case OUTT_UTF8:
                         terminal_mdoc(formatter, man);                          terminal_mdoc(formatter, meta);
                         break;                          break;
                 case OUTT_HTML:                  case OUTT_HTML:
                         html_mdoc(formatter, man);                          html_mdoc(formatter, meta);
                         break;                          break;
                 }                  }
         }          }
         if (man->macroset == MACROSET_MAN) {          if (meta->macroset == MACROSET_MAN) {
                 man_validate(man);  
                 switch (outtype) {                  switch (outtype) {
                 case OUTT_ASCII:                  case OUTT_ASCII:
                 case OUTT_UTF8:                  case OUTT_UTF8:
                         terminal_man(formatter, man);                          terminal_man(formatter, meta);
                         break;                          break;
                 case OUTT_HTML:                  case OUTT_HTML:
                         html_man(formatter, man);                          html_man(formatter, meta);
                         break;                          break;
                 }                  }
         }          }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.12

CVSweb