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

Diff for /mandoc/main.c between version 1.202 and 1.206

version 1.202, 2014/12/05 21:55:04 version 1.206, 2014/12/15 18:05:57
Line 83  struct curparse {
Line 83  struct curparse {
 };  };
   
 static  int               koptions(int *, char *);  static  int               koptions(int *, char *);
   #if HAVE_SQLITE3
   int                       mandocdb(int, char**);
   #endif
 static  int               moptions(int *, char *);  static  int               moptions(int *, char *);
 static  void              mmsg(enum mandocerr, enum mandoclevel,  static  void              mmsg(enum mandocerr, enum mandoclevel,
                                 const char *, int, int, const char *);                                  const char *, int, int, const char *);
 static  void              parse(struct curparse *, int,  static  void              parse(struct curparse *, int,
                                 const char *, enum mandoclevel *);                                  const char *, enum mandoclevel *);
   #if HAVE_SQLITE3
 static  enum mandoclevel  passthrough(const char *, int, int);  static  enum mandoclevel  passthrough(const char *, int, int);
   #endif
 static  void              spawn_pager(void);  static  void              spawn_pager(void);
 static  int               toptions(struct curparse *, char *);  static  int               toptions(struct curparse *, char *);
 static  void              usage(enum argmode) __attribute__((noreturn));  static  void              usage(enum argmode) __attribute__((noreturn));
Line 107  main(int argc, char *argv[])
Line 112  main(int argc, char *argv[])
         struct curparse  curp;          struct curparse  curp;
         struct mansearch search;          struct mansearch search;
         struct manpaths  paths;          struct manpaths  paths;
         char            *conf_file, *defpaths, *auxpaths;          char            *auxpaths;
         char            *defos;          char            *defos;
 #if HAVE_SQLITE3  #if HAVE_SQLITE3
         struct manpage  *res, *resp;          struct manpage  *res, *resp;
           char            *conf_file, *defpaths;
         size_t           isec, i, sz;          size_t           isec, i, sz;
         int              prio, best_prio;          int              prio, best_prio, synopsis_only;
         char             sec;          char             sec;
 #endif  #endif
         enum mandoclevel rc;          enum mandoclevel rc;
Line 120  main(int argc, char *argv[])
Line 126  main(int argc, char *argv[])
         int              fd;          int              fd;
         int              show_usage;          int              show_usage;
         int              use_pager;          int              use_pager;
         int              synopsis_only;  
         int              options;          int              options;
         int              c;          int              c;
   
Line 130  main(int argc, char *argv[])
Line 135  main(int argc, char *argv[])
         else          else
                 ++progname;                  ++progname;
   
   #if HAVE_SQLITE3
           if (strcmp(progname, BINM_MAKEWHATIS) == 0)
                   return(mandocdb(argc, argv));
   #endif
   
         /* Search options. */          /* Search options. */
   
         memset(&paths, 0, sizeof(struct manpaths));          memset(&paths, 0, sizeof(struct manpaths));
         conf_file = defpaths = auxpaths = NULL;  #if HAVE_SQLITE3
           conf_file = defpaths = NULL;
   #endif
           auxpaths = NULL;
   
         memset(&search, 0, sizeof(struct mansearch));          memset(&search, 0, sizeof(struct mansearch));
         search.outkey = "Nd";          search.outkey = "Nd";
   
         if (strcmp(progname, "man") == 0)          if (strcmp(progname, BINM_MAN) == 0)
                 search.argmode = ARG_NAME;                  search.argmode = ARG_NAME;
         else if (strncmp(progname, "apropos", 7) == 0)          else if (strcmp(progname, BINM_APROPOS) == 0)
                 search.argmode = ARG_EXPR;                  search.argmode = ARG_EXPR;
         else if (strncmp(progname, "whatis", 6) == 0)          else if (strcmp(progname, BINM_WHATIS) == 0)
                 search.argmode = ARG_WORD;                  search.argmode = ARG_WORD;
         else if (strncmp(progname, "help", 4) == 0)          else if (strncmp(progname, "help", 4) == 0)
                 search.argmode = ARG_NAME;                  search.argmode = ARG_NAME;
Line 159  main(int argc, char *argv[])
Line 172  main(int argc, char *argv[])
   
         use_pager = 1;          use_pager = 1;
         show_usage = 0;          show_usage = 0;
   #if HAVE_SQLITE3
         synopsis_only = 0;          synopsis_only = 0;
   #endif
         outmode = OUTMODE_DEF;          outmode = OUTMODE_DEF;
   
         while (-1 != (c = getopt(argc, argv,          while (-1 != (c = getopt(argc, argv,
Line 169  main(int argc, char *argv[])
Line 184  main(int argc, char *argv[])
                         outmode = OUTMODE_ALL;                          outmode = OUTMODE_ALL;
                         break;                          break;
                 case 'C':                  case 'C':
   #if HAVE_SQLITE3
                         conf_file = optarg;                          conf_file = optarg;
   #endif
                         break;                          break;
                 case 'c':                  case 'c':
                         use_pager = 0;                          use_pager = 0;
Line 179  main(int argc, char *argv[])
Line 196  main(int argc, char *argv[])
                         break;                          break;
                 case 'h':                  case 'h':
                         (void)strlcat(curp.outopts, "synopsis,", BUFSIZ);                          (void)strlcat(curp.outopts, "synopsis,", BUFSIZ);
   #if HAVE_SQLITE3
                         synopsis_only = 1;                          synopsis_only = 1;
   #endif
                         use_pager = 0;                          use_pager = 0;
                         outmode = OUTMODE_ALL;                          outmode = OUTMODE_ALL;
                         break;                          break;
Line 213  main(int argc, char *argv[])
Line 232  main(int argc, char *argv[])
                         outmode = OUTMODE_ALL;                          outmode = OUTMODE_ALL;
                         break;                          break;
                 case 'M':                  case 'M':
   #if HAVE_SQLITE3
                         defpaths = optarg;                          defpaths = optarg;
   #endif
                         break;                          break;
                 case 'm':                  case 'm':
                         auxpaths = optarg;                          auxpaths = optarg;
Line 288  main(int argc, char *argv[])
Line 309  main(int argc, char *argv[])
                                 argv = help_argv;                                  argv = help_argv;
                                 argc = 1;                                  argc = 1;
                         }                          }
                 } else if (argv[0] != NULL &&                  } else if (argv[0] != NULL && (
                     isdigit((unsigned char)argv[0][0]) &&                      (isdigit((unsigned char)argv[0][0]) &&
                     (argv[0][1] == '\0' || !strcmp(argv[0], "3p"))) {                       (argv[0][1] == '\0' || !strcmp(argv[0], "3p"))) ||
                       (argv[0][0] == 'n' && argv[0][1] == '\0'))) {
                         search.sec = argv[0];                          search.sec = argv[0];
                         argv++;                          argv++;
                         argc--;                          argc--;
Line 596  parse(struct curparse *curp, int fd, const char *file,
Line 618  parse(struct curparse *curp, int fd, const char *file,
                 *level = rc;                  *level = rc;
 }  }
   
   #if HAVE_SQLITE3
 static enum mandoclevel  static enum mandoclevel
 passthrough(const char *file, int fd, int synopsis_only)  passthrough(const char *file, int fd, int synopsis_only)
 {  {
Line 659  fail:
Line 682  fail:
             progname, file, syscall, strerror(errno));              progname, file, syscall, strerror(errno));
         return(MANDOCLEVEL_SYSERR);          return(MANDOCLEVEL_SYSERR);
 }  }
   #endif
   
 static int  static int
 koptions(int *options, char *arg)  koptions(int *options, char *arg)

Legend:
Removed from v.1.202  
changed lines
  Added in v.1.206

CVSweb