diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2024-01-13 12:42:42 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2024-01-13 12:42:42 -0500 |
commit | e9588c49d5539ded993f720fc6855d6fa878c997 (patch) | |
tree | d827157c37f59335252ba874fd41604984775471 /tests | |
parent | d6cae04b54c1d58223e1719101b7c54d348e8d80 (diff) | |
download | bfs-e9588c49d5539ded993f720fc6855d6fa878c997.tar.xz |
bfstd: New {error,errno}_is_like() functions
We used to have is_nonexistence_error() to consistently treat ENOENT and
ENOTDIR the same. Recently, we started considering EFAULT the same as
ENAMETOOLONG on DragonFly BSD to work around a kernel bug. Unify both
of these behind a more generic interface.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/xtouch.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/tests/xtouch.c b/tests/xtouch.c index ed8bbee..6099128 100644 --- a/tests/xtouch.c +++ b/tests/xtouch.c @@ -68,22 +68,11 @@ static int open_parent(const struct args *args, const char **path) { goto done; } - switch (errno) { - case ENAMETOOLONG: -#if __DragonFly__ - // https://twitter.com/tavianator/status/1742991411203485713 - case EFAULT: -#endif - break; - - case ENOENT: - if (args->flags & CREATE_PARENTS) { - break; - } else { + if (errno == ENOENT) { + if (!(args->flags & CREATE_PARENTS)) { goto err; } - - default: + } else if (!errno_is_like(ENAMETOOLONG)) { goto err; } |