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

Diff for /src/usr.bin/mandoc/manpath.c between version 1.3 and 1.4

version 1.3, 2011/12/19 02:26:33 version 1.4, 2011/12/24 21:51:40
Line 38 
Line 38 
 manpath_parse(struct manpaths *dirs, const char *file,  manpath_parse(struct manpaths *dirs, const char *file,
                 char *defp, char *auxp)                  char *defp, char *auxp)
 {  {
           char            *insert;
   
           /* Always prepend -m. */
         manpath_parseline(dirs, auxp);          manpath_parseline(dirs, auxp);
   
         if (NULL == defp)          /* If -M is given, it overrides everything else. */
                 defp = getenv("MANPATH");          if (NULL != defp) {
                   manpath_parseline(dirs, defp);
                   return;
           }
   
         if (NULL == defp)          /* MANPATH and man.conf(5) cooperate. */
                 manpath_manconf(dirs, file ? file : MAN_CONF_FILE);          defp = getenv("MANPATH");
         else          if (NULL == file)
                   file = MAN_CONF_FILE;
   
           /* No MANPATH; use man.conf(5) only. */
           if (NULL == defp || '\0' == defp[0]) {
                   manpath_manconf(dirs, file);
                   return;
           }
   
           /* Prepend man.conf(5) to MANPATH. */
           if (':' == defp[0]) {
                   manpath_manconf(dirs, file);
                 manpath_parseline(dirs, defp);                  manpath_parseline(dirs, defp);
                   return;
           }
   
           /* Append man.conf(5) to MANPATH. */
           if (':' == defp[(int)strlen(defp) - 1]) {
                   manpath_parseline(dirs, defp);
                   manpath_manconf(dirs, file);
                   return;
           }
   
           /* Insert man.conf(5) into MANPATH. */
           insert = strstr(defp, "::");
           if (NULL != insert) {
                   *insert++ = '\0';
                   manpath_parseline(dirs, defp);
                   manpath_manconf(dirs, file);
                   manpath_parseline(dirs, insert + 1);
                   return;
           }
   
           /* MANPATH overrides man.conf(5) completely. */
           manpath_parseline(dirs, defp);
 }  }
   
 /*  /*

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4