diff options
author | Eric Andersen <andersen@codepoet.org> | 1999-11-05 00:31:46 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 1999-11-05 00:31:46 +0000 |
commit | cf8c9cf7b9792e9cef3d790c46763712c390c7ed (patch) | |
tree | 980d8b0e71170aeb61c1e7ea871c7233ca31cbb6 /utility.c | |
parent | d0246fb72b40320a74376af1bb944fef2c9b734f (diff) |
More stuff -- ready for release.
-Erik
Diffstat (limited to 'utility.c')
-rw-r--r-- | utility.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -393,7 +393,8 @@ int fullRead(int fd, char *buf, int len) * * Unfortunatly, while nftw(3) could replace this and reduce * code size a bit, nftw() wasn't supported before GNU libc 2.1, - * and so isn't sufficiently portable to take over... + * and so isn't sufficiently portable to take over since glibc2.1 + * is so stinking huge. */ int recursiveAction(const char *fileName, int recurse, int followLinks, int depthFirst, @@ -404,7 +405,7 @@ recursiveAction(const char *fileName, int recurse, int followLinks, int depthFir struct stat statbuf; struct dirent *next; - if (followLinks == FALSE) + if (followLinks == TRUE) status = stat(fileName, &statbuf); else status = lstat(fileName, &statbuf); @@ -414,6 +415,9 @@ recursiveAction(const char *fileName, int recurse, int followLinks, int depthFir return (FALSE); } + if ( (followLinks == FALSE) && (S_ISLNK(statbuf.st_mode)) ) + return (TRUE); + if (recurse == FALSE) { if (S_ISDIR(statbuf.st_mode)) { if (dirAction != NULL) |