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

Diff for /mandoc/catman.c between version 1.7 and 1.9

version 1.7, 2011/12/16 12:06:35 version 1.9, 2011/12/25 17:49:52
Line 38 
Line 38 
 #endif  #endif
   
 #include "manpath.h"  #include "manpath.h"
   #include "mandocdb.h"
   
 #define xstrlcpy(_dst, _src, _sz) \  #define xstrlcpy(_dst, _src, _sz) \
         do if (strlcpy((_dst), (_src), (_sz)) >= (_sz)) { \          do if (strlcpy((_dst), (_src), (_sz)) >= (_sz)) { \
Line 66  int
Line 67  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         int              ch;          int              ch;
         char            *aux, *base;          char            *aux, *base, *conf_file;
         struct manpaths  dirs;          struct manpaths  dirs;
         char             buf[MAXPATHLEN];          char             buf[MAXPATHLEN];
         extern char     *optarg;          extern char     *optarg;
Line 81  main(int argc, char *argv[])
Line 82  main(int argc, char *argv[])
         aux = base = NULL;          aux = base = NULL;
         xstrlcpy(buf, "/var/www/cache/man.cgi", MAXPATHLEN);          xstrlcpy(buf, "/var/www/cache/man.cgi", MAXPATHLEN);
   
         while (-1 != (ch = getopt(argc, argv, "fm:M:o:v")))          while (-1 != (ch = getopt(argc, argv, "C:fm:M:o:v")))
                 switch (ch) {                  switch (ch) {
                   case ('C'):
                           conf_file = optarg;
                           break;
                 case ('f'):                  case ('f'):
                         force = 1;                          force = 1;
                         break;                          break;
Line 112  main(int argc, char *argv[])
Line 116  main(int argc, char *argv[])
         }          }
   
         memset(&dirs, 0, sizeof(struct manpaths));          memset(&dirs, 0, sizeof(struct manpaths));
         manpath_parse(&dirs, NULL, base, aux);          manpath_parse(&dirs, conf_file, base, aux);
         ch = manup(&dirs, buf);          ch = manup(&dirs, buf);
         manpath_free(&dirs);          manpath_free(&dirs);
         return(ch ? EXIT_SUCCESS : EXIT_FAILURE);          return(ch ? EXIT_SUCCESS : EXIT_FAILURE);
Line 124  usage(void)
Line 128  usage(void)
   
         fprintf(stderr, "usage: %s "          fprintf(stderr, "usage: %s "
                         "[-fv] "                          "[-fv] "
                           "[-C file] "
                         "[-o path] "                          "[-o path] "
                         "[-m manpath] "                          "[-m manpath] "
                         "[-M manpath]\n",                          "[-M manpath]\n",
Line 212  indexhtml(char *src, size_t ssz, char *dst, size_t dsz
Line 217  indexhtml(char *src, size_t ssz, char *dst, size_t dsz
         pid = -1;          pid = -1;
   
         xstrlcpy(fname, dst, MAXPATHLEN);          xstrlcpy(fname, dst, MAXPATHLEN);
         xstrlcat(fname, "/mandoc.index", MAXPATHLEN);          xstrlcat(fname, "/", MAXPATHLEN);
           xstrlcat(fname, MANDOC_IDX, MAXPATHLEN);
   
         idx = dbopen(fname, O_RDONLY, 0, DB_RECNO, NULL);          idx = dbopen(fname, O_RDONLY, 0, DB_RECNO, NULL);
         if (NULL == idx) {          if (NULL == idx) {
Line 288  update(char *dst, char *src)
Line 294  update(char *dst, char *src)
         dsz = strlen(dst);          dsz = strlen(dst);
         ssz = strlen(src);          ssz = strlen(src);
   
         xstrlcat(src, "/mandoc.db", MAXPATHLEN);          xstrlcat(src, "/", MAXPATHLEN);
         xstrlcat(dst, "/mandoc.db", MAXPATHLEN);          xstrlcat(dst, "/", MAXPATHLEN);
   
           xstrlcat(src, MANDOC_DB, MAXPATHLEN);
           xstrlcat(dst, MANDOC_DB, MAXPATHLEN);
   
         if ( ! filecpy(dst, src))          if ( ! filecpy(dst, src))
                 return(-1);                  return(-1);
         if (verbose)          if (verbose)
Line 298  update(char *dst, char *src)
Line 307  update(char *dst, char *src)
   
         dst[(int)dsz] = src[(int)ssz] = '\0';          dst[(int)dsz] = src[(int)ssz] = '\0';
   
         xstrlcat(src, "/mandoc.index", MAXPATHLEN);          xstrlcat(src, "/", MAXPATHLEN);
         xstrlcat(dst, "/mandoc.index", MAXPATHLEN);          xstrlcat(dst, "/", MAXPATHLEN);
   
           xstrlcat(src, MANDOC_IDX, MAXPATHLEN);
           xstrlcat(dst, MANDOC_IDX, MAXPATHLEN);
   
         if ( ! filecpy(dst, src))          if ( ! filecpy(dst, src))
                 return(-1);                  return(-1);
         if (verbose)          if (verbose)
Line 326  treecpy(char *dst, char *src)
Line 338  treecpy(char *dst, char *src)
         dsz = strlen(dst);          dsz = strlen(dst);
         ssz = strlen(src);          ssz = strlen(src);
   
         xstrlcat(src, "/mandoc.index", MAXPATHLEN);          xstrlcat(src, "/", MAXPATHLEN);
         xstrlcat(dst, "/mandoc.index", MAXPATHLEN);          xstrlcat(dst, "/", MAXPATHLEN);
   
           xstrlcat(src, MANDOC_IDX, MAXPATHLEN);
           xstrlcat(dst, MANDOC_IDX, MAXPATHLEN);
   
         if (-1 == (rc = isnewer(dst, src)))          if (-1 == (rc = isnewer(dst, src)))
                 return(0);                  return(0);
   
Line 337  treecpy(char *dst, char *src)
Line 352  treecpy(char *dst, char *src)
         if (1 == rc)          if (1 == rc)
                 return(update(dst, src));                  return(update(dst, src));
   
         xstrlcat(src, "/mandoc.db", MAXPATHLEN);          xstrlcat(src, "/", MAXPATHLEN);
         xstrlcat(dst, "/mandoc.db", MAXPATHLEN);          xstrlcat(dst, "/", MAXPATHLEN);
   
           xstrlcat(src, MANDOC_DB, MAXPATHLEN);
           xstrlcat(dst, MANDOC_DB, MAXPATHLEN);
   
         if (-1 == (rc = isnewer(dst, src)))          if (-1 == (rc = isnewer(dst, src)))
                 return(0);                  return(0);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.9

CVSweb