diff options
author | Rob Landley <rob@landley.net> | 2019-09-04 15:53:41 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2019-09-04 15:53:41 -0500 |
commit | 5be1c0ff22b55887b4d82c2cbbff79d9b5f45791 (patch) | |
tree | 289031162b9e64d7984f4c30ea37e4100ae6dacd /toys/posix | |
parent | 09bab92d4ac3d9d586d9b0cca0635743f483e12c (diff) | |
download | toybox-5be1c0ff22b55887b4d82c2cbbff79d9b5f45791.tar.gz |
DIRTREE_STATLESS doesn't have to test 3 stat fields, it sets a flag
Diffstat (limited to 'toys/posix')
-rw-r--r-- | toys/posix/find.c | 2 | ||||
-rw-r--r-- | toys/posix/ls.c | 2 |
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); |