aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2019-09-04 15:53:41 -0500
committerRob Landley <rob@landley.net>2019-09-04 15:53:41 -0500
commit5be1c0ff22b55887b4d82c2cbbff79d9b5f45791 (patch)
tree289031162b9e64d7984f4c30ea37e4100ae6dacd
parent09bab92d4ac3d9d586d9b0cca0635743f483e12c (diff)
downloadtoybox-5be1c0ff22b55887b4d82c2cbbff79d9b5f45791.tar.gz
DIRTREE_STATLESS doesn't have to test 3 stat fields, it sets a flag
-rw-r--r--toys/posix/find.c2
-rw-r--r--toys/posix/ls.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/toys/posix/find.c b/toys/posix/find.c
index 02fdf3c4..3317448a 100644
--- a/toys/posix/find.c
+++ b/toys/posix/find.c
@@ -217,7 +217,7 @@ static int do_find(struct dirtree *new)
// skip . and .. below topdir, handle -xdev and -depth
if (new) {
// Handle stat failures first.
- if (!new->st.st_blksize && !new->st.st_dev && !new->st.st_ino) {
+ if (new->again&2) {
if (!new->parent || errno != ENOENT) {
perror_msg("'%s'", s = dirtree_path(new, 0));
free(s);
diff --git a/toys/posix/ls.c b/toys/posix/ls.c
index 4ae352af..65031587 100644
--- a/toys/posix/ls.c
+++ b/toys/posix/ls.c
@@ -585,7 +585,7 @@ void ls_main(void)
// note: double_list->prev temporarily goes in dirtree->parent
if (dt) {
- if (!dt->st.st_blksize && !dt->st.st_dev && !dt->st.st_ino) {
+ if (dt->again&2) {
perror_msg_raw(*s);
free(dt);
} else dlist_add_nomalloc((void *)&TT.files->child, (void *)dt);