summaryrefslogtreecommitdiff
path: root/utility.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>1999-11-05 00:31:46 +0000
committerEric Andersen <andersen@codepoet.org>1999-11-05 00:31:46 +0000
commitcf8c9cf7b9792e9cef3d790c46763712c390c7ed (patch)
tree980d8b0e71170aeb61c1e7ea871c7233ca31cbb6 /utility.c
parentd0246fb72b40320a74376af1bb944fef2c9b734f (diff)
downloadbusybox-w32-cf8c9cf7b9792e9cef3d790c46763712c390c7ed.tar.gz
busybox-w32-cf8c9cf7b9792e9cef3d790c46763712c390c7ed.tar.bz2
busybox-w32-cf8c9cf7b9792e9cef3d790c46763712c390c7ed.zip
More stuff -- ready for release.0_32
-Erik
Diffstat (limited to 'utility.c')
-rw-r--r--utility.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/utility.c b/utility.c
index 125e819ed..50d019254 100644
--- a/utility.c
+++ b/utility.c
@@ -393,7 +393,8 @@ int fullRead(int fd, char *buf, int len)
393 * 393 *
394 * Unfortunatly, while nftw(3) could replace this and reduce 394 * Unfortunatly, while nftw(3) could replace this and reduce
395 * code size a bit, nftw() wasn't supported before GNU libc 2.1, 395 * code size a bit, nftw() wasn't supported before GNU libc 2.1,
396 * and so isn't sufficiently portable to take over... 396 * and so isn't sufficiently portable to take over since glibc2.1
397 * is so stinking huge.
397 */ 398 */
398int 399int
399recursiveAction(const char *fileName, int recurse, int followLinks, int depthFirst, 400recursiveAction(const char *fileName, int recurse, int followLinks, int depthFirst,
@@ -404,7 +405,7 @@ recursiveAction(const char *fileName, int recurse, int followLinks, int depthFir
404 struct stat statbuf; 405 struct stat statbuf;
405 struct dirent *next; 406 struct dirent *next;
406 407
407 if (followLinks == FALSE) 408 if (followLinks == TRUE)
408 status = stat(fileName, &statbuf); 409 status = stat(fileName, &statbuf);
409 else 410 else
410 status = lstat(fileName, &statbuf); 411 status = lstat(fileName, &statbuf);
@@ -414,6 +415,9 @@ recursiveAction(const char *fileName, int recurse, int followLinks, int depthFir
414 return (FALSE); 415 return (FALSE);
415 } 416 }
416 417
418 if ( (followLinks == FALSE) && (S_ISLNK(statbuf.st_mode)) )
419 return (TRUE);
420
417 if (recurse == FALSE) { 421 if (recurse == FALSE) {
418 if (S_ISDIR(statbuf.st_mode)) { 422 if (S_ISDIR(statbuf.st_mode)) {
419 if (dirAction != NULL) 423 if (dirAction != NULL)