aboutsummaryrefslogtreecommitdiff
path: root/toys/pending
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2016-11-21 16:47:23 -0600
committerRob Landley <rob@landley.net>2016-11-21 16:47:23 -0600
commit382057f588fbf2c2f7950b85dd317721b8d04c07 (patch)
treeba6b074d5c956f2f5747e27ce0f8ab948a0a602c /toys/pending
parent9b4a67545e11975068d6e16c6872d54e0473e715 (diff)
downloadtoybox-382057f588fbf2c2f7950b85dd317721b8d04c07.tar.gz
Have dirtree_notdotdot() pass through !node->parent so . and .. on the command
line aren't filtered out. Audited all the callers and removed redundant calls, adjusted call sequence, etc. (And let rm _not_ do this, because posix.)
Diffstat (limited to 'toys/pending')
-rw-r--r--toys/pending/diff.c2
-rw-r--r--toys/pending/tar.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/toys/pending/diff.c b/toys/pending/diff.c
index 53bdbce3..b2177c4f 100644
--- a/toys/pending/diff.c
+++ b/toys/pending/diff.c
@@ -484,7 +484,7 @@ static int list_dir (struct dirtree *node)
{
int ret = 0;
- if (node->parent && !dirtree_notdotdot(node)) return 0;
+ if (!dirtree_notdotdot(node)) return 0;
if (S_ISDIR(node->st.st_mode) && !node->parent) { //add root dirs.
add_to_list(node);
diff --git a/toys/pending/tar.c b/toys/pending/tar.c
index 8d4c3d60..d672d102 100644
--- a/toys/pending/tar.c
+++ b/toys/pending/tar.c
@@ -274,7 +274,7 @@ static int add_to_tar(struct dirtree *node)
return ((DIRTREE_RECURSE | ((toys.optflags & FLAG_h)?DIRTREE_SYMFOLLOW:0)));
}
- if (node->parent && !dirtree_notdotdot(node)) return 0;
+ if (!dirtree_notdotdot(node)) return 0;
path = dirtree_path(node, 0);
add_file(hdl, &path, &(node->st)); //path may be modified
free(path);