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

Diff for /mandoc/compat_fts.c between version 1.10 and 1.11

version 1.10, 2016/08/02 11:09:46 version 1.11, 2016/10/18 23:13:25
Line 83  fts_open(char * const *argv, int options, void *dummy)
Line 83  fts_open(char * const *argv, int options, void *dummy)
         FTSENT *p, *root;          FTSENT *p, *root;
         int nitems;          int nitems;
         FTSENT *parent, *tmp;          FTSENT *parent, *tmp;
         size_t len;  
   
         /* Options check. */          /* Options check. */
         if (options & ~FTS_OPTIONMASK) {          if (options & ~FTS_OPTIONMASK) {
Line 91  fts_open(char * const *argv, int options, void *dummy)
Line 90  fts_open(char * const *argv, int options, void *dummy)
                 return (NULL);                  return (NULL);
         }          }
   
           /* At least one path must be specified. */
           if (*argv == NULL) {
                   errno = EINVAL;
                   return (NULL);
           }
   
         /* Allocate/initialize the stream */          /* Allocate/initialize the stream */
         if ((sp = calloc(1, sizeof(FTS))) == NULL)          if ((sp = calloc(1, sizeof(FTS))) == NULL)
                 return (NULL);                  return (NULL);
Line 110  fts_open(char * const *argv, int options, void *dummy)
Line 115  fts_open(char * const *argv, int options, void *dummy)
   
         /* Allocate/initialize root(s). */          /* Allocate/initialize root(s). */
         for (root = NULL, nitems = 0; *argv; ++argv, ++nitems) {          for (root = NULL, nitems = 0; *argv; ++argv, ++nitems) {
                 /* Don't allow zero-length paths. */                  if ((p = fts_alloc(sp, *argv, strlen(*argv))) == NULL)
                 if ((len = strlen(*argv)) == 0) {  
                         errno = ENOENT;  
                         goto mem3;                          goto mem3;
                 }  
   
                 if ((p = fts_alloc(sp, *argv, len)) == NULL)  
                         goto mem3;  
                 p->fts_level = FTS_ROOTLEVEL;                  p->fts_level = FTS_ROOTLEVEL;
                 p->fts_parent = parent;                  p->fts_parent = parent;
                 p->fts_accpath = p->fts_name;                  p->fts_accpath = p->fts_name;
Line 320  name:  t = sp->fts_path + NAPPEND(p->fts_parent);
Line 319  name:  t = sp->fts_path + NAPPEND(p->fts_parent);
  * semantics to fts using fts_set.  An error return is allowed for similar   * semantics to fts using fts_set.  An error return is allowed for similar
  * reasons.   * reasons.
  */   */
 /* ARGSUSED */  
 int  int
 fts_set(FTS *sp, FTSENT *p, int instr)  fts_set(FTS *sp, FTSENT *p, int instr)
 {  {
Line 419  fts_build(FTS *sp)
Line 417  fts_build(FTS *sp)
                                  * structures already allocated.                                   * structures already allocated.
                                  */                                   */
 mem1:                           saved_errno = errno;  mem1:                           saved_errno = errno;
                                 if (p)                                  free(p);
                                         free(p);  
                                 fts_lfree(head);                                  fts_lfree(head);
                                 (void)closedir(dirp);                                  (void)closedir(dirp);
                                 cur->fts_info = FTS_ERR;                                  cur->fts_info = FTS_ERR;
Line 600  fts_palloc(FTS *sp, size_t more)
Line 597  fts_palloc(FTS *sp, size_t more)
          */           */
         more += 256;          more += 256;
         if (sp->fts_pathlen + more < sp->fts_pathlen) {          if (sp->fts_pathlen + more < sp->fts_pathlen) {
                 if (sp->fts_path)                  free(sp->fts_path);
                         free(sp->fts_path);  
                 sp->fts_path = NULL;                  sp->fts_path = NULL;
                 errno = ENAMETOOLONG;                  errno = ENAMETOOLONG;
                 return (1);                  return (1);
Line 609  fts_palloc(FTS *sp, size_t more)
Line 605  fts_palloc(FTS *sp, size_t more)
         sp->fts_pathlen += more;          sp->fts_pathlen += more;
         p = realloc(sp->fts_path, sp->fts_pathlen);          p = realloc(sp->fts_path, sp->fts_pathlen);
         if (p == NULL) {          if (p == NULL) {
                 if (sp->fts_path)                  free(sp->fts_path);
                         free(sp->fts_path);  
                 sp->fts_path = NULL;                  sp->fts_path = NULL;
                 return (1);                  return (1);
         }          }

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

CVSweb