[BACK]Return to main.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/main.c between version 1.117 and 1.118

version 1.117, 2015/01/01 13:18:23 version 1.118, 2015/01/13 13:22:13
Line 1 
Line 1 
 /*      $OpenBSD$ */  /*      $OpenBSD$ */
 /*  /*
  * 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 373 
Line 373 
         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 386 
Line 383 
         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) {
                 if (resp != NULL) {                  rc = mparse_open(curp.mp, &fd,
                         rc = mparse_open(curp.mp, &fd, resp->file);                      resp != NULL ? resp->file : *argv);
                         if (fd == -1)  
                                 /* nothing */;                  if (fd != -1) {
                           if (use_pager && isatty(STDOUT_FILENO))
                                   spawn_pager();
                           use_pager = 0;
   
                           if (resp == NULL)
                                   parse(&curp, fd, *argv, &rc);
                         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 401 
Line 407 
                         } else                          } else
                                 rc = passthrough(resp->file, fd,                                  rc = passthrough(resp->file, fd,
                                     synopsis_only);                                      synopsis_only);
                         resp++;  
                 } else {  
                         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 (resp != NULL)
                         ascii_sepline(curp.outdata);                          resp++;
                   else
                           argv++;
                   if (--argc)
                           mparse_reset(curp.mp);
         }          }
   
         if (curp.outfree)          if (curp.outfree)
Line 579 
Line 587 
         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.117  
changed lines
  Added in v.1.118