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

Diff for /mandoc/main.c between version 1.201 and 1.203

version 1.201, 2014/12/02 11:31:51 version 1.203, 2014/12/09 07:29:42
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 *);
Line 96  static void    version(void) __attribute__((noreturn))
Line 99  static void    version(void) __attribute__((noreturn))
 static  int               woptions(struct curparse *, char *);  static  int               woptions(struct curparse *, char *);
   
 static  const int sec_prios[] = {1, 4, 5, 8, 6, 3, 7, 2, 9};  static  const int sec_prios[] = {1, 4, 5, 8, 6, 3, 7, 2, 9};
   static  char              help_arg[] = "help";
   static  char             *help_argv[] = {help_arg, NULL};
 static  const char       *progname;  static  const char       *progname;
   
   
Line 128  main(int argc, char *argv[])
Line 133  main(int argc, char *argv[])
         else          else
                 ++progname;                  ++progname;
   
   #if HAVE_SQLITE3
           if (0 == strncmp(progname, "mandocdb", 8) ||
               0 == strncmp(progname, "makewhatis", 10))
                   return(mandocdb(argc, argv));
   #endif
   
         /* Search options. */          /* Search options. */
   
         memset(&paths, 0, sizeof(struct manpaths));          memset(&paths, 0, sizeof(struct manpaths));
Line 142  main(int argc, char *argv[])
Line 153  main(int argc, char *argv[])
                 search.argmode = ARG_EXPR;                  search.argmode = ARG_EXPR;
         else if (strncmp(progname, "whatis", 6) == 0)          else if (strncmp(progname, "whatis", 6) == 0)
                 search.argmode = ARG_WORD;                  search.argmode = ARG_WORD;
           else if (strncmp(progname, "help", 4) == 0)
                   search.argmode = ARG_NAME;
         else          else
                 search.argmode = ARG_FILE;                  search.argmode = ARG_FILE;
   
Line 273  main(int argc, char *argv[])
Line 286  main(int argc, char *argv[])
         resp = NULL;          resp = NULL;
 #endif  #endif
   
         /* Quirk for a man(1) section argument without -s. */          /*
            * Quirks for help(1)
            * and for a man(1) section argument without -s.
            */
   
         if (search.argmode == ARG_NAME &&          if (search.argmode == ARG_NAME) {
             argv[0] != NULL &&                  if (*progname == 'h') {
             isdigit((unsigned char)argv[0][0]) &&                          if (argc == 0) {
             (argv[0][1] == '\0' || !strcmp(argv[0], "3p"))) {                                  argv = help_argv;
                 search.sec = argv[0];                                  argc = 1;
                 argv++;                          }
                 argc--;                  } else if (argv[0] != NULL &&
                       isdigit((unsigned char)argv[0][0]) &&
                       (argv[0][1] == '\0' || !strcmp(argv[0], "3p"))) {
                           search.sec = argv[0];
                           argv++;
                           argc--;
                   }
         }          }
   
         rc = MANDOCLEVEL_OK;          rc = MANDOCLEVEL_OK;

Legend:
Removed from v.1.201  
changed lines
  Added in v.1.203

CVSweb