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

Diff for /mandoc/main.c between version 1.180 and 1.181

version 1.180, 2014/08/17 03:24:47 version 1.181, 2014/08/20 21:04:35
Line 41 
Line 41 
 # endif  # endif
 #endif /* !defined(__GNUC__) || (__GNUC__ < 2) */  #endif /* !defined(__GNUC__) || (__GNUC__ < 2) */
   
   enum    outmode {
           OUTMODE_DEF = 0,
           OUTMODE_FLN,
           OUTMODE_LST,
           OUTMODE_ALL,
           OUTMODE_INT,
           OUTMODE_ONE
   };
   
 typedef void            (*out_mdoc)(void *, const struct mdoc *);  typedef void            (*out_mdoc)(void *, const struct mdoc *);
 typedef void            (*out_man)(void *, const struct man *);  typedef void            (*out_man)(void *, const struct man *);
 typedef void            (*out_free)(void *);  typedef void            (*out_free)(void *);
Line 96  main(int argc, char *argv[])
Line 105  main(int argc, char *argv[])
         size_t           i, sz;          size_t           i, sz;
 #endif  #endif
         enum mandoclevel rc;          enum mandoclevel rc;
           enum outmode     outmode;
         int              show_usage;          int              show_usage;
         int              options;          int              options;
         int              c;          int              c;
Line 132  main(int argc, char *argv[])
Line 142  main(int argc, char *argv[])
         defos = NULL;          defos = NULL;
   
         show_usage = 0;          show_usage = 0;
         while (-1 != (c = getopt(argc, argv, "C:fI:kM:m:O:S:s:T:VW:"))) {          outmode = OUTMODE_DEF;
           while (-1 != (c = getopt(argc, argv, "aC:fI:ikM:m:O:S:s:T:VW:w"))) {
                 switch (c) {                  switch (c) {
                   case 'a':
                           outmode = OUTMODE_ALL;
                           break;
                 case 'C':                  case 'C':
                         conf_file = optarg;                          conf_file = optarg;
                         break;                          break;
Line 155  main(int argc, char *argv[])
Line 169  main(int argc, char *argv[])
                         }                          }
                         defos = mandoc_strdup(optarg + 3);                          defos = mandoc_strdup(optarg + 3);
                         break;                          break;
                   case 'i':
                           outmode = OUTMODE_INT;
                           break;
                 case 'k':                  case 'k':
                         search.argmode = ARG_EXPR;                          search.argmode = ARG_EXPR;
                         break;                          break;
Line 183  main(int argc, char *argv[])
Line 200  main(int argc, char *argv[])
                         if ( ! woptions(&curp, optarg))                          if ( ! woptions(&curp, optarg))
                                 return((int)MANDOCLEVEL_BADARG);                                  return((int)MANDOCLEVEL_BADARG);
                         break;                          break;
                   case 'w':
                           outmode = OUTMODE_FLN;
                           break;
                 case 'V':                  case 'V':
                         version();                          version();
                         /* NOTREACHED */                          /* NOTREACHED */
Line 195  main(int argc, char *argv[])
Line 215  main(int argc, char *argv[])
         if (show_usage)          if (show_usage)
                 usage(search.argmode);                  usage(search.argmode);
   
           if (outmode == OUTMODE_DEF) {
                   switch (search.argmode) {
                   case ARG_FILE:
                           outmode = OUTMODE_ALL;
                           break;
                   case ARG_NAME:
                           outmode = OUTMODE_ONE;
                           break;
                   default:
                           outmode = OUTMODE_LST;
                           break;
                   }
           }
   
         argc -= optind;          argc -= optind;
         argv += optind;          argv += optind;
   
Line 209  main(int argc, char *argv[])
Line 243  main(int argc, char *argv[])
                 if( ! mansearch(&search, &paths, argc, argv, &res, &sz))                  if( ! mansearch(&search, &paths, argc, argv, &res, &sz))
                         usage(search.argmode);                          usage(search.argmode);
                 manpath_free(&paths);                  manpath_free(&paths);
                 for (i = 0; i < sz; i++)                  for (i = 0; i < sz; i++) {
                         printf("%s - %s\n", res[i].names,                          if (outmode == OUTMODE_FLN)
                             res[i].output == NULL ? "" : res[i].output);                                  puts(res[i].file);
                           else
                                   printf("%s - %s\n", res[i].names,
                                       res[i].output == NULL ? "" :
                                       res[i].output);
                   }
                 mansearch_free(res, sz);                  mansearch_free(res, sz);
                 mansearch_setup(0);                  mansearch_setup(0);
                 return((int)MANDOCLEVEL_OK);                  return((int)MANDOCLEVEL_OK);

Legend:
Removed from v.1.180  
changed lines
  Added in v.1.181

CVSweb