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

Diff for /mandoc/Attic/manpage.c between version 1.3 and 1.9

version 1.3, 2012/06/09 17:49:13 version 1.9, 2014/08/17 03:24:47
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>
    * Copyright (c) 2013 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 14 
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/param.h>  
   
   #include <sys/types.h>
   
 #include <assert.h>  #include <assert.h>
 #include <getopt.h>  #include <getopt.h>
   #include <limits.h>
 #include <stdint.h>  #include <stdint.h>
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
Line 40  main(int argc, char *argv[])
Line 41  main(int argc, char *argv[])
         struct mansearch search;          struct mansearch search;
         struct manpage  *res;          struct manpage  *res;
         char            *conf_file, *defpaths, *auxpaths, *cp;          char            *conf_file, *defpaths, *auxpaths, *cp;
         char             buf[MAXPATHLEN];          char             buf[PATH_MAX];
         const char      *cmd;          const char      *cmd;
         struct manpaths  paths;          struct manpaths  paths;
         char            *progname;          char            *progname;
Line 86  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);          manpath_parse(&paths, conf_file, defpaths, auxpaths);
         ch = mansearch(&search, &paths, argc, argv, &res, &sz);          ch = mansearch(&search, &paths, argc, argv, &res, &sz);
Line 106  main(int argc, char *argv[])
Line 108  main(int argc, char *argv[])
   
         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].file, res[i].desc);                          i + 1, res[i].names, res[i].output);
                 free(res[i].desc);                  free(res[i].names);
                   free(res[i].output);
         }          }
   
         if (0 == term) {          if (0 == term) {
                   for (i = 0; i < sz; i++)
                           free(res[i].file);
                 free(res);                  free(res);
                 return(EXIT_SUCCESS);                  return(EXIT_SUCCESS);
         }          }
Line 127  main(int argc, char *argv[])
Line 132  main(int argc, char *argv[])
                 }                  }
   
         if (0 == i) {          if (0 == i) {
                   for (i = 0; i < sz; i++)
                           free(res[i].file);
                 free(res);                  free(res);
                 return(EXIT_SUCCESS);                  return(EXIT_SUCCESS);
         }          }
 show:  show:
         cmd = res[i - 1].form ? "mandoc" : "cat";          cmd = res[i - 1].form ? "mandoc" : "cat";
         strlcpy(buf, res[i - 1].file, MAXPATHLEN);          strlcpy(buf, res[i - 1].file, PATH_MAX);
           for (i = 0; i < sz; i++)
                   free(res[i].file);
         free(res);          free(res);
   
         show(cmd, buf);          show(cmd, buf);

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

CVSweb