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

Diff for /mandoc/manpath.c between version 1.40 and 1.42

version 1.40, 2019/07/10 19:39:01 version 1.42, 2020/07/21 15:10:01
Line 163  manconf_free(struct manconf *conf)
Line 163  manconf_free(struct manconf *conf)
 static void  static void
 manconf_file(struct manconf *conf, const char *file)  manconf_file(struct manconf *conf, const char *file)
 {  {
         const char *const toks[] = { "manpath", "output", "_whatdb" };          const char *const toks[] = { "manpath", "output" };
         char manpath_default[] = MANPATH_DEFAULT;          char manpath_default[] = MANPATH_DEFAULT;
   
         FILE            *stream;          FILE            *stream;
Line 200  manconf_file(struct manconf *conf, const char *file)
Line 200  manconf_file(struct manconf *conf, const char *file)
                 }                  }
   
                 switch (tok) {                  switch (tok) {
                 case 2:  /* _whatdb */  
                         while (ep > cp && ep[-1] != '/')  
                                 ep--;  
                         if (ep == cp)  
                                 continue;  
                         *ep = '\0';  
                         /* FALLTHROUGH */  
                 case 0:  /* manpath */                  case 0:  /* manpath */
                         manpath_add(&conf->manpath, cp, '\0');                          manpath_add(&conf->manpath, cp, '\0');
                         *manpath_default = '\0';                          *manpath_default = '\0';
Line 231  manconf_output(struct manoutput *conf, const char *cp,
Line 224  manconf_output(struct manoutput *conf, const char *cp,
 {  {
         const char *const toks[] = {          const char *const toks[] = {
             "includes", "man", "paper", "style", "indent", "width",              "includes", "man", "paper", "style", "indent", "width",
             "tag", "fragment", "mdoc", "noval", "toc"              "tag", "outfilename", "tagfilename",
               "fragment", "mdoc", "noval", "toc"
         };          };
         const size_t ntoks = sizeof(toks) / sizeof(toks[0]);          const size_t ntoks = sizeof(toks) / sizeof(toks[0]);
   
Line 252  manconf_output(struct manoutput *conf, const char *cp,
Line 246  manconf_output(struct manoutput *conf, const char *cp,
                 }                  }
         }          }
   
         if (tok < 6 && *cp == '\0') {          if (tok < 8 && *cp == '\0') {
                 mandoc_msg(MANDOCERR_BADVAL_MISS, 0, 0, "-O %s=?", toks[tok]);                  mandoc_msg(MANDOCERR_BADVAL_MISS, 0, 0, "-O %s=?", toks[tok]);
                 return -1;                  return -1;
         }          }
         if (tok > 6 && tok < ntoks && *cp != '\0') {          if (tok > 8 && tok < ntoks && *cp != '\0') {
                 mandoc_msg(MANDOCERR_BADVAL, 0, 0, "-O %s=%s", toks[tok], cp);                  mandoc_msg(MANDOCERR_BADVAL, 0, 0, "-O %s=%s", toks[tok], cp);
                 return -1;                  return -1;
         }          }
Line 320  manconf_output(struct manoutput *conf, const char *cp,
Line 314  manconf_output(struct manoutput *conf, const char *cp,
                 conf->tag = mandoc_strdup(cp);                  conf->tag = mandoc_strdup(cp);
                 return 0;                  return 0;
         case 7:          case 7:
                 conf->fragment = 1;                  if (conf->outfilename != NULL) {
                           oldval = mandoc_strdup(conf->outfilename);
                           break;
                   }
                   conf->outfilename = mandoc_strdup(cp);
                 return 0;                  return 0;
         case 8:          case 8:
                 conf->mdoc = 1;                  if (conf->tagfilename != NULL) {
                           oldval = mandoc_strdup(conf->tagfilename);
                           break;
                   }
                   conf->tagfilename = mandoc_strdup(cp);
                 return 0;                  return 0;
         case 9:          case 9:
                 conf->noval = 1;                  conf->fragment = 1;
                 return 0;                  return 0;
         case 10:          case 10:
                   conf->mdoc = 1;
                   return 0;
           case 11:
                   conf->noval = 1;
                   return 0;
           case 12:
                 conf->toc = 1;                  conf->toc = 1;
                 return 0;                  return 0;
         default:          default:

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.42

CVSweb