From cb4dc956439140ca595b2b7dfd511efaa22d1e22 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 12 Dec 2019 10:47:00 +0000 Subject: 45009: POSIX_CD needs to suppress some forms of option. Otherwise forms of argument allowed by POSIX are interpreted as options instead. --- Src/builtin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Src') diff --git a/Src/builtin.c b/Src/builtin.c index bd7736d2c..7bf4281da 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -912,7 +912,7 @@ cd_get_dest(char *nam, char **argv, int hard, int func) char *end; doprintdir++; - if (argv[0][1] && (argv[0][0] == '+' || argv[0][0] == '-') + if (!isset(POSIXCD) && argv[0][1] && (argv[0][0] == '+' || argv[0][0] == '-') && strspn(argv[0]+1, "0123456789") == strlen(argv[0]+1)) { dd = zstrtol(argv[0] + 1, &end, 10); if (*end == '\0') { -- cgit 1.4.1