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

Diff for /mandoc/main.c between version 1.211 and 1.212

version 1.211, 2015/01/01 13:20:38 version 1.212, 2015/01/13 13:22:22
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2010-2012, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>   * Copyright (c) 2010 Joerg Sonnenberger <joerg@netbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 405  main(int argc, char *argv[])
Line 405  main(int argc, char *argv[])
         if (search.argmode == ARG_FILE && ! moptions(&options, auxpaths))          if (search.argmode == ARG_FILE && ! moptions(&options, auxpaths))
                 return((int)MANDOCLEVEL_BADARG);                  return((int)MANDOCLEVEL_BADARG);
   
         if (use_pager && isatty(STDOUT_FILENO))  
                 spawn_pager();  
   
         curp.mchars = mchars_alloc();          curp.mchars = mchars_alloc();
         curp.mp = mparse_alloc(options, curp.wlevel, mmsg,          curp.mp = mparse_alloc(options, curp.wlevel, mmsg,
             curp.mchars, defos);              curp.mchars, defos);
Line 418  main(int argc, char *argv[])
Line 415  main(int argc, char *argv[])
         if (OUTT_MAN == curp.outtype)          if (OUTT_MAN == curp.outtype)
                 mparse_keep(curp.mp);                  mparse_keep(curp.mp);
   
         if (argc == 0)          if (argc == 0) {
                   if (use_pager && isatty(STDOUT_FILENO))
                           spawn_pager();
                 parse(&curp, STDIN_FILENO, "<stdin>", &rc);                  parse(&curp, STDIN_FILENO, "<stdin>", &rc);
           }
   
         while (argc) {          while (argc) {
                   rc = mparse_open(curp.mp, &fd,
 #if HAVE_SQLITE3  #if HAVE_SQLITE3
                 if (resp != NULL) {                      resp != NULL ? resp->file :
                         rc = mparse_open(curp.mp, &fd, resp->file);  #endif
                         if (fd == -1)                      *argv);
                                 /* nothing */;  
                   if (fd != -1) {
                           if (use_pager && isatty(STDOUT_FILENO))
                                   spawn_pager();
                           use_pager = 0;
   
   #if HAVE_SQLITE3
                           if (resp == NULL)
   #endif
                                   parse(&curp, fd, *argv, &rc);
   #if HAVE_SQLITE3
                         else if (resp->form & FORM_SRC) {                          else if (resp->form & FORM_SRC) {
                                 /* For .so only; ignore failure. */                                  /* For .so only; ignore failure. */
                                 chdir(paths.paths[resp->ipath]);                                  chdir(paths.paths[resp->ipath]);
Line 434  main(int argc, char *argv[])
Line 445  main(int argc, char *argv[])
                         } else                          } else
                                 rc = passthrough(resp->file, fd,                                  rc = passthrough(resp->file, fd,
                                     synopsis_only);                                      synopsis_only);
                         resp++;  
                 } else  
 #endif  #endif
                 {  
                         rc = mparse_open(curp.mp, &fd, *argv++);  
                         if (fd != -1)  
                                 parse(&curp, fd, argv[-1], &rc);  
                 }  
   
                 if (mparse_wait(curp.mp) != MANDOCLEVEL_OK)                          if (mparse_wait(curp.mp) != MANDOCLEVEL_OK)
                         rc = MANDOCLEVEL_SYSERR;                                  rc = MANDOCLEVEL_SYSERR;
   
                           if (argc > 1 && curp.outtype <= OUTT_UTF8)
                                   ascii_sepline(curp.outdata);
                   }
   
                 if (MANDOCLEVEL_OK != rc && curp.wstop)                  if (MANDOCLEVEL_OK != rc && curp.wstop)
                         break;                          break;
   
                 if (--argc && curp.outtype <= OUTT_UTF8)  #if HAVE_SQLITE3
                         ascii_sepline(curp.outdata);                  if (resp != NULL)
                           resp++;
                   else
   #endif
                           argv++;
                   if (--argc)
                           mparse_reset(curp.mp);
         }          }
   
         if (curp.outfree)          if (curp.outfree)
Line 616  parse(struct curparse *curp, int fd, const char *file,
Line 630  parse(struct curparse *curp, int fd, const char *file,
         if (mdoc && curp->outmdoc)          if (mdoc && curp->outmdoc)
                 (*curp->outmdoc)(curp->outdata, mdoc);                  (*curp->outmdoc)(curp->outdata, mdoc);
   
  cleanup:  cleanup:
   
         mparse_reset(curp->mp);  
   
         if (*level < rc)          if (*level < rc)
                 *level = rc;                  *level = rc;
 }  }

Legend:
Removed from v.1.211  
changed lines
  Added in v.1.212

CVSweb