From b5ce07f7149f0432acdcf329415870b8e63290b9 Mon Sep 17 00:00:00 2001
From: Danny Smith <dannysmith@users.sourceforge.net>
Date: Thu, 5 Feb 2004 03:17:46 +0000
Subject: [PATCH] 	* mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per 
 NetBSD getopt_long.c.

---
 winsup/mingw/ChangeLog        | 5 +++++
 winsup/mingw/mingwex/getopt.c | 6 +++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

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  <dannysmith@users.sourceforge.net>
+
+	* mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per
+	NetBSD getopt_long.c.
+
 2004-02-05  Danny Smith  <dannysmith@users.sourceforge.net>
 
 	* 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 == '-' */