diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index f51d6f692..b71b46ded 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,8 @@ +2004-02-05 Danny Smith + + * mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per + NetBSD getopt_long.c. + 2004-02-05 Danny Smith * mingwex/strtold.c (__asctoe64) Reorganise. Fix setting error diff --git a/winsup/mingw/mingwex/getopt.c b/winsup/mingw/mingwex/getopt.c index b5d5a23b9..6b19df7dd 100644 --- a/winsup/mingw/mingwex/getopt.c +++ b/winsup/mingw/mingwex/getopt.c @@ -73,7 +73,11 @@ extern char __declspec(dllimport) *__progname; #define PRINT_ERROR ((opterr) && ((*options != ':') \ || (IGNORE_FIRST && options[1] != ':'))) -#define IS_POSIXLY_CORRECT (getenv("POSIXLY_INCORRECT_GETOPT") == NULL) +/* This differs from the cygwin implementation, which effectively defaults to + PC, but is consistent with the NetBSD implementation and doc's. */ +#ifndef IS_POSIXLY_CORRECT +#define IS_POSIXLY_CORRECT (getenv("POSIXLY_CORRECT") != NULL) +#endif #define PERMUTE (!IS_POSIXLY_CORRECT && !IGNORE_FIRST) /* XXX: GNU ignores PC if *options == '-' */