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

Diff for /mandoc/mandocdb.c between version 1.267 and 1.268

version 1.267, 2020/04/03 11:35:01 version 1.268, 2021/08/07 13:02:10
Line 165  static void  putkey(const struct mpage *, char *, uint
Line 165  static void  putkey(const struct mpage *, char *, uint
 static  void     putkeys(const struct mpage *, char *, size_t, uint64_t);  static  void     putkeys(const struct mpage *, char *, size_t, uint64_t);
 static  void     putmdockey(const struct mpage *,  static  void     putmdockey(const struct mpage *,
                         const struct roff_node *, uint64_t, int);                          const struct roff_node *, uint64_t, int);
   #ifdef READ_ALLOWED_PATH
   static  int      read_allowed(const char *);
   #endif
 static  int      render_string(char **, size_t *);  static  int      render_string(char **, size_t *);
 static  void     say(const char *, const char *, ...)  static  void     say(const char *, const char *, ...)
                         __attribute__((__format__ (__printf__, 2, 3)));                          __attribute__((__format__ (__printf__, 2, 3)));
Line 612  treescan(void)
Line 615  treescan(void)
                                 continue;                                  continue;
                         }                          }
                         if (strncmp(buf, basedir, basedir_len) != 0                          if (strncmp(buf, basedir, basedir_len) != 0
 #ifdef HOMEBREWDIR  #ifdef READ_ALLOWED_PATH
                             && strncmp(buf, HOMEBREWDIR, strlen(HOMEBREWDIR))                              && !read_allowed(buf)
 #endif  #endif
                         ) {                          ) {
                                 if (warnings) say("",                                  if (warnings) say("",
Line 823  filescan(const char *infile)
Line 826  filescan(const char *infile)
                 start = usefile;                  start = usefile;
         else if (strncmp(usefile, basedir, basedir_len) == 0)          else if (strncmp(usefile, basedir, basedir_len) == 0)
                 start = usefile + basedir_len;                  start = usefile + basedir_len;
 #ifdef HOMEBREWDIR  #ifdef READ_ALLOWED_PATH
         else if (strncmp(usefile, HOMEBREWDIR, strlen(HOMEBREWDIR)) == 0)          else if (read_allowed(usefile))
                 start = usefile;                  start = usefile;
 #endif  #endif
         else {          else {
Line 2380  set_basedir(const char *targetdir, int report_baddir)
Line 2383  set_basedir(const char *targetdir, int report_baddir)
         }          }
         return 1;          return 1;
 }  }
   
   #ifdef READ_ALLOWED_PATH
   static int
   read_allowed(const char *candidate)
   {
           const char      *cp;
           size_t           len;
   
           for (cp = READ_ALLOWED_PATH;; cp += len) {
                   while (*cp == ':')
                           cp++;
                   if (*cp == '\0')
                           return 0;
                   len = strcspn(cp, ":");
                   if (strncmp(candidate, cp, len) == 0)
                           return 1;
           }
   }
   #endif
   
 static void  static void
 say(const char *file, const char *format, ...)  say(const char *file, const char *format, ...)

Legend:
Removed from v.1.267  
changed lines
  Added in v.1.268

CVSweb