[BACK]Return to getcwd.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / gen

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/gen/getcwd.c between version 1.37 and 1.38

version 1.37, 2005/07/04 20:44:47 version 1.38, 2005/07/05 02:56:12
Line 160  loop:
Line 160  loop:
          */           */
         if (lstat(resolved, &sb) == -1) {          if (lstat(resolved, &sb) == -1) {
                 /* Allow nonexistent component if this is the last one. */                  /* Allow nonexistent component if this is the last one. */
                 if ((*q == 0 || (*q == '/' && *(q + 1) == 0))                  while (*q == '/')
                     && errno == ENOENT) {                          q++;
                   if (*q == 0 && errno == ENOENT) {
                         errno = serrno;                          errno = serrno;
                         return (resolved);                          return (resolved);
                 }                  }
                 return (NULL);                  return (NULL);
         }          }
         if (*q == '/' && !S_ISDIR(sb.st_mode)) {  
                 errno = ENOTDIR;  
                 return (NULL);  
         }  
         if (S_ISLNK(sb.st_mode)) {          if (S_ISLNK(sb.st_mode)) {
                 if (nlnk++ >= MAXSYMLINKS) {                  if (nlnk++ >= MAXSYMLINKS) {
                         errno = ELOOP;                          errno = ELOOP;
Line 198  loop:
Line 195  loop:
                         p = resolved;                          p = resolved;
                 goto loop;                  goto loop;
         }          }
           if (*q == '/' && !S_ISDIR(sb.st_mode)) {
                   errno = ENOTDIR;
                   return (NULL);
           }
   
         /* Advance both resolved and unresolved path. */          /* Advance both resolved and unresolved path. */
         p += 1 + q - path;          p += 1 + q - path;

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.38

CVSweb <webmaster@jp.NetBSD.org>