diff options
author | Matt Kraai | 2000-12-19 06:24:08 +0000 |
---|---|---|
committer | Matt Kraai | 2000-12-19 06:24:08 +0000 |
commit | a1f977598138ebf8f5f1672daa936255cf3affc1 (patch) | |
tree | a655709eabc453ddd518c8d0090c3b7cd2ef8219 /utility.c | |
parent | 24ac0179617e43ab517141fe5497f4ebac108678 (diff) | |
download | busybox-a1f977598138ebf8f5f1672daa936255cf3affc1.zip busybox-a1f977598138ebf8f5f1672daa936255cf3affc1.tar.gz |
Fix tar handling of absolute paths and excluded directories.
Diffstat (limited to 'utility.c')
-rw-r--r-- | utility.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -663,17 +663,18 @@ int recursive_action(const char *fileName, if (S_ISDIR(statbuf.st_mode)) { DIR *dir; - dir = opendir(fileName); - if (!dir) { - perror_msg("%s", fileName); - return FALSE; - } if (dirAction != NULL && depthFirst == FALSE) { status = dirAction(fileName, &statbuf, userData); if (status == FALSE) { perror_msg("%s", fileName); return FALSE; - } + } else if (status == SKIP) + return TRUE; + } + dir = opendir(fileName); + if (!dir) { + perror_msg("%s", fileName); + return FALSE; } while ((next = readdir(dir)) != NULL) { char nextFile[BUFSIZ + 1]; |