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

Diff for /mandoc/cgi.c between version 1.45 and 1.46

version 1.45, 2013/06/05 02:00:26 version 1.46, 2013/10/11 00:06:48
Line 34 
Line 34 
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
   
   #if defined(__sun)
   /* for stat() */
   #include <fcntl.h>
   #include <sys/types.h>
   #include <sys/stat.h>
   #endif
   
 #include "apropos_db.h"  #include "apropos_db.h"
 #include "mandoc.h"  #include "mandoc.h"
 #include "mdoc.h"  #include "mdoc.h"
Line 42 
Line 49 
 #include "manpath.h"  #include "manpath.h"
 #include "mandocdb.h"  #include "mandocdb.h"
   
 #ifdef __linux__  #if defined(__linux__) || defined(__sun)
 # include <db_185.h>  # include <db_185.h>
 #else  #else
 # include <db.h>  # include <db.h>
Line 1097  static int
Line 1104  static int
 pathstop(DIR *dir)  pathstop(DIR *dir)
 {  {
         struct dirent   *d;          struct dirent   *d;
   #if defined(__sun)
           struct stat      sb;
   #endif
   
         while (NULL != (d = readdir(dir)))          while (NULL != (d = readdir(dir))) {
   #if defined(__sun)
                   stat(d->d_name, &sb);
                   if (S_IFREG & sb.st_mode)
   #else
                 if (DT_REG == d->d_type)                  if (DT_REG == d->d_type)
   #endif
                         if (0 == strcmp(d->d_name, "catman.conf"))                          if (0 == strcmp(d->d_name, "catman.conf"))
                                 return(1);                                  return(1);
     }
   
         return(0);          return(0);
 }  }
Line 1118  pathgen(DIR *dir, char *path, struct req *req)
Line 1134  pathgen(DIR *dir, char *path, struct req *req)
         DIR             *cd;          DIR             *cd;
         int              rc;          int              rc;
         size_t           sz, ssz;          size_t           sz, ssz;
   #if defined(__sun)
           struct stat      sb;
   #endif
   
         sz = strlcat(path, "/", PATH_MAX);          sz = strlcat(path, "/", PATH_MAX);
         if (sz >= PATH_MAX) {          if (sz >= PATH_MAX) {
Line 1133  pathgen(DIR *dir, char *path, struct req *req)
Line 1152  pathgen(DIR *dir, char *path, struct req *req)
   
         rc = 0;          rc = 0;
         while (0 == rc && NULL != (d = readdir(dir))) {          while (0 == rc && NULL != (d = readdir(dir))) {
                 if (DT_DIR != d->d_type || strcmp(d->d_name, "etc"))  #if defined(__sun)
                   stat(d->d_name, &sb);
                   if (!(S_IFDIR & sb.st_mode)
   #else
                   if (DT_DIR != d->d_type
   #endif
           || strcmp(d->d_name, "etc"))
                         continue;                          continue;
   
                 path[(int)sz] = '\0';                  path[(int)sz] = '\0';
Line 1182  pathgen(DIR *dir, char *path, struct req *req)
Line 1207  pathgen(DIR *dir, char *path, struct req *req)
   
         rewinddir(dir);          rewinddir(dir);
         while (NULL != (d = readdir(dir))) {          while (NULL != (d = readdir(dir))) {
                 if (DT_DIR != d->d_type || '.' == d->d_name[0])  #if defined(__sun)
                   stat(d->d_name, &sb);
                   if (!(S_IFDIR & sb.st_mode)
   #else
                   if (DT_DIR != d->d_type
   #endif
           || '.' == d->d_name[0])
                         continue;                          continue;
   
                 path[(int)sz] = '\0';                  path[(int)sz] = '\0';

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46

CVSweb