diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2019-10-11 11:39:40 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2019-10-11 11:39:40 +0000 |
commit | f19e58049045ab6395d746d4280404a6595e613a (patch) | |
tree | d843d76c6eeefdfd10a745d343b4e76579d8b355 | |
parent | 3f8f8c27374f72075a30e57011a31c816136a94b (diff) | |
download | execline-f19e58049045ab6395d746d4280404a6595e613a.tar.xz |
Make posix-cd's CDPATH testing even more horrible
-rw-r--r-- | AUTHORS | 3 | ||||
-rw-r--r-- | src/posix/posix-cd.c | 2 |
2 files changed, 3 insertions, 2 deletions
@@ -21,4 +21,5 @@ Thanks to: Colin Booth <colin@heliocat.net> Jesse Young <jlyo@jlyo.org> Danilo Spinella <danyspin97@protonmail.com> - Éric Vidal <eric@obarun.org> + Éric Vidal <eric@obarun.org + Samuel Holland <samuel@sholland.org> diff --git a/src/posix/posix-cd.c b/src/posix/posix-cd.c index f825be1..1addd8e 100644 --- a/src/posix/posix-cd.c +++ b/src/posix/posix-cd.c @@ -55,7 +55,7 @@ int main (int argc, char const **argv, char const *const *envp) } if (!where || !where[0]) dieusage() ; - if ((where[0] != '/' && (where[0] != '.')) || (where[1] && where[1] != '.')) + if (!(where[0] == '/' || (where[0] == '.' && (!where[1] || where[1] == '/' || (where[1] == '.' && (!where[2] || where[2] == '/')))))) { char const *cdpath = getenv("CDPATH") ; if (cdpath) |