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

Diff for /mandoc/main.c between version 1.150 and 1.151

version 1.150, 2011/03/15 16:23:51 version 1.151, 2011/03/16 15:28:35
Line 77  enum outt {
Line 77  enum outt {
 };  };
   
 struct  curparse {  struct  curparse {
           enum mandoclevel  exit_status;  /* status of all file parses */
         const char       *file;         /* current file-name */          const char       *file;         /* current file-name */
         enum mandoclevel  file_status;  /* error status of current parse */          enum mandoclevel  file_status;  /* error status of current parse */
         int               fd;           /* current file-descriptor */          int               fd;           /* current file-descriptor */
Line 241  static void    version(void) __attribute__((noreturn))
Line 242  static void    version(void) __attribute__((noreturn))
 static  int               woptions(struct curparse *, char *);  static  int               woptions(struct curparse *, char *);
   
 static  const char       *progname;  static  const char       *progname;
 static  enum mandoclevel  exit_status = MANDOCLEVEL_OK;  
   
 int  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
Line 260  main(int argc, char *argv[])
Line 260  main(int argc, char *argv[])
         curp.inttype = INTT_AUTO;          curp.inttype = INTT_AUTO;
         curp.outtype = OUTT_ASCII;          curp.outtype = OUTT_ASCII;
         curp.wlevel  = MANDOCLEVEL_FATAL;          curp.wlevel  = MANDOCLEVEL_FATAL;
           curp.exit_status = MANDOCLEVEL_OK;
   
         /* LINTED */          /* LINTED */
         while (-1 != (c = getopt(argc, argv, "m:O:T:VW:")))          while (-1 != (c = getopt(argc, argv, "m:O:T:VW:")))
Line 300  main(int argc, char *argv[])
Line 301  main(int argc, char *argv[])
   
         while (*argv) {          while (*argv) {
                 ffile(*argv, &curp);                  ffile(*argv, &curp);
                 if (MANDOCLEVEL_OK != exit_status && curp.wstop)                  if (MANDOCLEVEL_OK != curp.exit_status && curp.wstop)
                         break;                          break;
                 ++argv;                  ++argv;
         }          }
Line 314  main(int argc, char *argv[])
Line 315  main(int argc, char *argv[])
         if (curp.roff)          if (curp.roff)
                 roff_free(curp.roff);                  roff_free(curp.roff);
   
         return((int)exit_status);          return((int)curp.exit_status);
 }  }
   
   
Line 359  ffile(const char *file, struct curparse *curp)
Line 360  ffile(const char *file, struct curparse *curp)
   
         if (-1 == (curp->fd = open(curp->file, O_RDONLY, 0))) {          if (-1 == (curp->fd = open(curp->file, O_RDONLY, 0))) {
                 perror(curp->file);                  perror(curp->file);
                 exit_status = MANDOCLEVEL_SYSERR;                  curp->exit_status = MANDOCLEVEL_SYSERR;
                 return;                  return;
         }          }
   
Line 618  fdesc(struct curparse *curp)
Line 619  fdesc(struct curparse *curp)
         assert(curp->roff);          assert(curp->roff);
         roff_reset(curp->roff);          roff_reset(curp->roff);
   
         if (exit_status < curp->file_status)          if (curp->exit_status < curp->file_status)
                 exit_status = curp->file_status;                  curp->exit_status = curp->file_status;
   
         return;          return;
 }  }

Legend:
Removed from v.1.150  
changed lines
  Added in v.1.151

CVSweb