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

Diff for /mandoc/main.c between version 1.306 and 1.309

version 1.306, 2018/05/14 14:10:23 version 1.309, 2018/11/22 11:30:23
Line 486  main(int argc, char *argv[])
Line 486  main(int argc, char *argv[])
         curp.mp = mparse_alloc(options, curp.mmin, mmsg,          curp.mp = mparse_alloc(options, curp.mmin, mmsg,
             curp.os_e, curp.os_s);              curp.os_e, curp.os_s);
   
         /*  
          * Conditionally start up the lookaside buffer before parsing.  
          */  
         if (OUTT_MAN == curp.outtype)  
                 mparse_keep(curp.mp);  
   
         if (argc < 1) {          if (argc < 1) {
                 if (use_pager)                  if (use_pager)
                         tag_files = tag_init();                          tag_files = tag_init();
Line 524  main(int argc, char *argv[])
Line 518  main(int argc, char *argv[])
                 fd = mparse_open(curp.mp, resp != NULL ? resp->file : *argv);                  fd = mparse_open(curp.mp, resp != NULL ? resp->file : *argv);
                 if (fd != -1) {                  if (fd != -1) {
                         if (use_pager) {                          if (use_pager) {
                                 tag_files = tag_init();  
                                 use_pager = 0;                                  use_pager = 0;
                                   tag_files = tag_init();
                                   if (conf.output.tag != NULL &&
                                       tag_files->tagname == NULL)
                                           tag_files->tagname =
                                               *conf.output.tag != '\0' ?
                                               conf.output.tag : *argv;
                         }                          }
   
                         if (resp == NULL)                          if (resp == NULL)
Line 790  fs_search(const struct mansearch *cfg, const struct ma
Line 789  fs_search(const struct mansearch *cfg, const struct ma
                                         return 1;                                          return 1;
                 }                  }
                 if (res != NULL && *ressz == lastsz &&                  if (res != NULL && *ressz == lastsz &&
                     strchr(*argv, '/') == NULL)                      strchr(*argv, '/') == NULL) {
                         warnx("No entry for %s in the manual.", *argv);                          if (cfg->sec == NULL)
                                   warnx("No entry for %s in the manual.",
                                       *argv);
                           else
                                   warnx("No entry for %s in section %s "
                                       "of the manual.", *argv, cfg->sec);
                   }
                 lastsz = *ressz;                  lastsz = *ressz;
                 argv++;                  argv++;
                 argc--;                  argc--;
Line 872  parse(struct curparse *curp, int fd, const char *file)
Line 877  parse(struct curparse *curp, int fd, const char *file)
                         tree_man(curp->outdata, man);                          tree_man(curp->outdata, man);
                         break;                          break;
                 case OUTT_MAN:                  case OUTT_MAN:
                         man_man(curp->outdata, man);                          mparse_copy(curp->mp);
                         break;                          break;
                 case OUTT_PDF:                  case OUTT_PDF:
                 case OUTT_ASCII:                  case OUTT_ASCII:
Line 1180  spawn_pager(struct tag_files *tag_files)
Line 1185  spawn_pager(struct tag_files *tag_files)
         const char      *pager;          const char      *pager;
         char            *cp;          char            *cp;
         size_t           cmdlen;          size_t           cmdlen;
         int              argc;          int              argc, use_ofn;
         pid_t            pager_pid;          pid_t            pager_pid;
   
         pager = getenv("MANPAGER");          pager = getenv("MANPAGER");
Line 1196  spawn_pager(struct tag_files *tag_files)
Line 1201  spawn_pager(struct tag_files *tag_files)
          */           */
   
         argc = 0;          argc = 0;
         while (argc + 4 < MAX_PAGER_ARGS) {          while (argc + 5 < MAX_PAGER_ARGS) {
                 argv[argc++] = cp;                  argv[argc++] = cp;
                 cp = strchr(cp, ' ');                  cp = strchr(cp, ' ');
                 if (cp == NULL)                  if (cp == NULL)
Line 1210  spawn_pager(struct tag_files *tag_files)
Line 1215  spawn_pager(struct tag_files *tag_files)
   
         /* For less(1), use the tag file. */          /* For less(1), use the tag file. */
   
           use_ofn = 1;
         if ((cmdlen = strlen(argv[0])) >= 4) {          if ((cmdlen = strlen(argv[0])) >= 4) {
                 cp = argv[0] + cmdlen - 4;                  cp = argv[0] + cmdlen - 4;
                 if (strcmp(cp, "less") == 0) {                  if (strcmp(cp, "less") == 0) {
                         argv[argc++] = mandoc_strdup("-T");                          argv[argc++] = mandoc_strdup("-T");
                         argv[argc++] = tag_files->tfn;                          argv[argc++] = tag_files->tfn;
                           if (tag_files->tagname != NULL) {
                                   argv[argc++] = mandoc_strdup("-t");
                                   argv[argc++] = tag_files->tagname;
                                   use_ofn = 0;
                           }
                 }                  }
         }          }
         argv[argc++] = tag_files->ofn;          if (use_ofn)
                   argv[argc++] = tag_files->ofn;
         argv[argc] = NULL;          argv[argc] = NULL;
   
         switch (pager_pid = fork()) {          switch (pager_pid = fork()) {

Legend:
Removed from v.1.306  
changed lines
  Added in v.1.309

CVSweb