summaryrefslogtreecommitdiff
path: root/src/posix
diff options
context:
space:
mode:
Diffstat (limited to 'src/posix')
-rw-r--r--src/posix/posix-cd.c2
1 files changed, 1 insertions, 1 deletions
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)