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

Diff for /mandoc/Attic/manpage.c between version 1.7 and 1.11

version 1.7, 2014/01/06 03:02:46 version 1.11, 2015/03/27 17:37:25
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #ifdef HAVE_CONFIG_H  
 #include "config.h"  #include "config.h"
 #endif  
   
   #include <sys/types.h>
   
 #include <assert.h>  #include <assert.h>
 #include <getopt.h>  #include <getopt.h>
 #include <limits.h>  #include <limits.h>
Line 28 
Line 28 
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
   
 #include "manpath.h"  #include "manconf.h"
 #include "mansearch.h"  #include "mansearch.h"
   
 static  void     show(const char *, const char *);  static  void     show(const char *, const char *);
Line 43  main(int argc, char *argv[])
Line 43  main(int argc, char *argv[])
         char            *conf_file, *defpaths, *auxpaths, *cp;          char            *conf_file, *defpaths, *auxpaths, *cp;
         char             buf[PATH_MAX];          char             buf[PATH_MAX];
         const char      *cmd;          const char      *cmd;
         struct manpaths  paths;          struct manconf   conf;
         char            *progname;          char            *progname;
         extern char     *optarg;          extern char     *optarg;
         extern int       optind;          extern int       optind;
Line 57  main(int argc, char *argv[])
Line 57  main(int argc, char *argv[])
                 ++progname;                  ++progname;
   
         auxpaths = defpaths = conf_file = NULL;          auxpaths = defpaths = conf_file = NULL;
         memset(&paths, 0, sizeof(struct manpaths));          memset(&conf, 0, sizeof(conf));
         memset(&search, 0, sizeof(struct mansearch));          memset(&search, 0, sizeof(struct mansearch));
   
         while (-1 != (ch = getopt(argc, argv, "C:M:m:S:s:")))          while (-1 != (ch = getopt(argc, argv, "C:M:m:S:s:")))
Line 87  main(int argc, char *argv[])
Line 87  main(int argc, char *argv[])
         if (0 == argc)          if (0 == argc)
                 goto usage;                  goto usage;
   
         search.deftype = TYPE_Nm | TYPE_Nd;          search.outkey = "Nd";
           search.argmode = ARG_EXPR;
   
         manpath_parse(&paths, conf_file, defpaths, auxpaths);          manconf_parse(&conf, conf_file, defpaths, auxpaths);
         ch = mansearch(&search, &paths, argc, argv, "Nd", &res, &sz);          ch = mansearch(&search, &conf.manpath, argc, argv, &res, &sz);
         manpath_free(&paths);          manconf_free(&conf);
   
         if (0 == ch)          if (0 == ch)
                 goto usage;                  goto usage;
Line 106  main(int argc, char *argv[])
Line 107  main(int argc, char *argv[])
                 return(EXIT_FAILURE);                  return(EXIT_FAILURE);
   
         for (i = 0; i < sz; i++) {          for (i = 0; i < sz; i++) {
                 printf("%6zu  %s: %s\n",                  printf("%6zu  %s: %s\n",
                         i + 1, res[i].names, res[i].output);                          i + 1, res[i].names, res[i].output);
                 free(res[i].names);                  free(res[i].names);
                 free(res[i].output);                  free(res[i].output);
Line 147  show:
Line 148  show:
         /* NOTREACHED */          /* NOTREACHED */
 usage:  usage:
         fprintf(stderr, "usage: %s [-C conf] "          fprintf(stderr, "usage: %s [-C conf] "
                                   "[-M paths] "                                    "[-M paths] "
                                   "[-m paths] "                                    "[-m paths] "
                                   "[-S arch] "                                    "[-S arch] "
                                   "[-s section] "                                    "[-s section] "
                                   "expr ...\n",                                    "expr ...\n",
                                   progname);                                    progname);
         return(EXIT_FAILURE);          return(EXIT_FAILURE);
 }  }
Line 173  show(const char *cmd, const char *file)
Line 174  show(const char *cmd, const char *file)
         } else if (pid > 0) {          } else if (pid > 0) {
                 dup2(fds[0], STDIN_FILENO);                  dup2(fds[0], STDIN_FILENO);
                 close(fds[1]);                  close(fds[1]);
                 cmd = NULL != getenv("MANPAGER") ?                  cmd = NULL != getenv("MANPAGER") ?
                         getenv("MANPAGER") :                          getenv("MANPAGER") :
                         (NULL != getenv("PAGER") ?                          (NULL != getenv("PAGER") ?
                          getenv("PAGER") : "more");                           getenv("PAGER") : "more");
                 execlp(cmd, cmd, (char *)NULL);                  execlp(cmd, cmd, (char *)NULL);
                 perror(cmd);                  perror(cmd);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.11

CVSweb