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

Diff for /mandoc/main.c between version 1.281 and 1.282

version 1.281, 2017/02/10 15:45:28 version 1.282, 2017/02/16 10:56:07
Line 113  int
Line 113  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         struct manconf   conf;          struct manconf   conf;
         struct curparse  curp;  
         struct mansearch search;          struct mansearch search;
           struct curparse  curp;
         struct tag_files *tag_files;          struct tag_files *tag_files;
         const char      *progname;  
         char            *auxpaths;  
         char            *defos;  
         unsigned char   *uc;  
         struct manpage  *res, *resp;          struct manpage  *res, *resp;
         char            *conf_file, *defpaths;          const char      *progname, *sec, *thisarg;
         const char      *sec;          char            *conf_file, *defpaths, *auxpaths;
         const char      *thisarg;          char            *defos, *oarg;
           unsigned char   *uc;
         size_t           i, sz;          size_t           i, sz;
         int              prio, best_prio;          int              prio, best_prio;
         enum outmode     outmode;          enum outmode     outmode;
Line 169  main(int argc, char *argv[])
Line 166  main(int argc, char *argv[])
   
         memset(&search, 0, sizeof(struct mansearch));          memset(&search, 0, sizeof(struct mansearch));
         search.outkey = "Nd";          search.outkey = "Nd";
           oarg = NULL;
   
         if (strcmp(progname, BINM_MAN) == 0)          if (strcmp(progname, BINM_MAN) == 0)
                 search.argmode = ARG_NAME;                  search.argmode = ARG_NAME;
Line 247  main(int argc, char *argv[])
Line 245  main(int argc, char *argv[])
                         auxpaths = optarg;                          auxpaths = optarg;
                         break;                          break;
                 case 'O':                  case 'O':
                         search.outkey = optarg;                          oarg = optarg;
                         while (optarg != NULL) {  
                                 thisarg = optarg;  
                                 if (manconf_output(&conf.output,  
                                     strsep(&optarg, ","), 0) == 0)  
                                         continue;  
                                 warnx("-O %s: Bad argument", thisarg);  
                                 return (int)MANDOCLEVEL_BADARG;  
                         }  
                         break;                          break;
                 case 'S':                  case 'S':
                         search.arch = optarg;                          search.arch = optarg;
Line 297  main(int argc, char *argv[])
Line 287  main(int argc, char *argv[])
                 default:                  default:
                         outmode = OUTMODE_LST;                          outmode = OUTMODE_LST;
                         break;                          break;
                   }
           }
   
           if (oarg != NULL) {
                   if (outmode == OUTMODE_LST)
                           search.outkey = oarg;
                   else {
                           while (oarg != NULL) {
                                   thisarg = oarg;
                                   if (manconf_output(&conf.output,
                                       strsep(&oarg, ","), 0) == 0)
                                           continue;
                                   warnx("-O %s: Bad argument", thisarg);
                                   return (int)MANDOCLEVEL_BADARG;
                           }
                 }                  }
         }          }
   

Legend:
Removed from v.1.281  
changed lines
  Added in v.1.282

CVSweb