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

Diff for /mandoc/Attic/apropos.c between version 1.36 and 1.41

version 1.36, 2013/12/31 03:41:14 version 1.41, 2014/08/16 23:04: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/param.h>  #include <sys/param.h>
   #include <sys/types.h>
   
 #include <assert.h>  #include <assert.h>
 #include <getopt.h>  #include <getopt.h>
Line 31 
Line 31 
 #include "manpath.h"  #include "manpath.h"
 #include "mansearch.h"  #include "mansearch.h"
   
   
 int  int
 main(int argc, char *argv[])  apropos(int argc, char *argv[])
 {  {
         int              ch, whatis;          int              ch, whatis;
         struct mansearch search;          struct mansearch search;
Line 42  main(int argc, char *argv[])
Line 43  main(int argc, char *argv[])
         char            *defpaths, *auxpaths;          char            *defpaths, *auxpaths;
         char            *conf_file;          char            *conf_file;
         char            *progname;          char            *progname;
         char            *outkey;          const char      *outkey;
         extern char     *optarg;          extern char     *optarg;
         extern int       optind;          extern int       optind;
   
Line 59  main(int argc, char *argv[])
Line 60  main(int argc, char *argv[])
   
         auxpaths = defpaths = NULL;          auxpaths = defpaths = NULL;
         conf_file = NULL;          conf_file = NULL;
         outkey = NULL;          outkey = "Nd";
   
         while (-1 != (ch = getopt(argc, argv, "C:M:m:O:S:s:")))          while (-1 != (ch = getopt(argc, argv, "C:M:m:O:S:s:")))
                 switch (ch) {                  switch (ch) {
                 case ('C'):                  case 'C':
                         conf_file = optarg;                          conf_file = optarg;
                         break;                          break;
                 case ('M'):                  case 'M':
                         defpaths = optarg;                          defpaths = optarg;
                         break;                          break;
                 case ('m'):                  case 'm':
                         auxpaths = optarg;                          auxpaths = optarg;
                         break;                          break;
                 case ('O'):                  case 'O':
                         outkey = optarg;                          outkey = optarg;
                         break;                          break;
                 case ('S'):                  case 'S':
                         search.arch = optarg;                          search.arch = optarg;
                         break;                          break;
                 case ('s'):                  case 's':
                         search.sec = optarg;                          search.sec = optarg;
                         break;                          break;
                 default:                  default:
Line 95  main(int argc, char *argv[])
Line 96  main(int argc, char *argv[])
         search.flags = whatis ? MANSEARCH_WHATIS : 0;          search.flags = whatis ? MANSEARCH_WHATIS : 0;
   
         manpath_parse(&paths, conf_file, defpaths, auxpaths);          manpath_parse(&paths, conf_file, defpaths, auxpaths);
           mansearch_setup(1);
         ch = mansearch(&search, &paths, argc, argv, outkey, &res, &sz);          ch = mansearch(&search, &paths, argc, argv, outkey, &res, &sz);
         manpath_free(&paths);          manpath_free(&paths);
   
Line 103  main(int argc, char *argv[])
Line 105  main(int argc, char *argv[])
   
         for (i = 0; i < sz; i++) {          for (i = 0; i < sz; i++) {
                 printf("%s - %s\n", res[i].names,                  printf("%s - %s\n", res[i].names,
                     NULL == outkey ? res[i].desc :  
                     NULL == res[i].output ? "" : res[i].output);                      NULL == res[i].output ? "" : res[i].output);
                 free(res[i].file);                  free(res[i].file);
                 free(res[i].names);                  free(res[i].names);
                 free(res[i].desc);  
                 free(res[i].output);                  free(res[i].output);
         }          }
   
         free(res);          free(res);
           mansearch_setup(0);
         return(sz ? EXIT_SUCCESS : EXIT_FAILURE);          return(sz ? EXIT_SUCCESS : EXIT_FAILURE);
 usage:  usage:
         fprintf(stderr, "usage: %s [-C file] [-M path] [-m path] "          fprintf(stderr, "usage: %s [-C file] [-M path] [-m path] "

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.41

CVSweb