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

Diff for /mandoc/Attic/apropos.c between version 1.19 and 1.23

version 1.19, 2011/11/26 22:38:11 version 1.23, 2011/12/07 16:08:55
Line 38  static char *progname;
Line 38  static char *progname;
 int  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         int              ch, rc;          int              ch, rc, whatis;
         struct manpaths  paths;          struct manpaths  paths;
         size_t           terms;          size_t           terms;
         struct opts      opts;          struct opts      opts;
Line 53  main(int argc, char *argv[])
Line 53  main(int argc, char *argv[])
         else          else
                 ++progname;                  ++progname;
   
           whatis = 0 == strncmp(progname, "whatis", 6);
   
         memset(&paths, 0, sizeof(struct manpaths));          memset(&paths, 0, sizeof(struct manpaths));
         memset(&opts, 0, sizeof(struct opts));          memset(&opts, 0, sizeof(struct opts));
   
         auxpaths = defpaths = NULL;          auxpaths = defpaths = NULL;
         e = NULL;          e = NULL;
         rc = 0;  
   
         while (-1 != (ch = getopt(argc, argv, "M:m:S:s:")))          while (-1 != (ch = getopt(argc, argv, "M:m:S:s:")))
                 switch (ch) {                  switch (ch) {
Line 76  main(int argc, char *argv[])
Line 77  main(int argc, char *argv[])
                         break;                          break;
                 default:                  default:
                         usage();                          usage();
                         goto out;                          return(EXIT_FAILURE);
                 }                  }
   
         argc -= optind;          argc -= optind;
         argv += optind;          argv += optind;
   
         if (0 == argc) {          if (0 == argc)
                 rc = 1;                  return(EXIT_SUCCESS);
                 goto out;  
         }  
   
           rc = 0;
   
         manpath_parse(&paths, defpaths, auxpaths);          manpath_parse(&paths, defpaths, auxpaths);
   
         if (NULL == (e = exprcomp(argc, argv, &terms))) {          e = whatis ? termcomp(argc, argv, &terms) :
                        exprcomp(argc, argv, &terms);
   
           if (NULL == e) {
                 fprintf(stderr, "%s: Bad expression\n", progname);                  fprintf(stderr, "%s: Bad expression\n", progname);
                 goto out;                  goto out;
         }          }
Line 129  static int
Line 133  static int
 cmp(const void *p1, const void *p2)  cmp(const void *p1, const void *p2)
 {  {
   
         return(strcmp(((const struct res *)p1)->title,          return(strcasecmp(((const struct res *)p1)->title,
                                 ((const struct res *)p2)->title));                                  ((const struct res *)p2)->title));
 }  }
   
Line 138  usage(void)
Line 142  usage(void)
 {  {
   
         fprintf(stderr, "usage: %s "          fprintf(stderr, "usage: %s "
                         "[-M path] "                          "[-M manpath] "
                         "[-m path] "                          "[-m manpath] "
                         "[-S arch] "                          "[-S arch] "
                         "[-s section] "                          "[-s section] "
                         "expression...\n",                          "expression...\n",

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.23

CVSweb