summaryrefslogtreecommitdiff
path: root/Python/getopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/getopt.c')
-rw-r--r--Python/getopt.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/Python/getopt.c b/Python/getopt.c
index 5147320af2..cc424312fe 100644
--- a/Python/getopt.c
+++ b/Python/getopt.c
@@ -41,9 +41,18 @@ int _PyOS_opterr = 1; /* generate error messages */
int _PyOS_optind = 1; /* index into argv array */
wchar_t *_PyOS_optarg = NULL; /* optional argument */
+static wchar_t *opt_ptr = L"";
+
+void _PyOS_ResetGetOpt(void)
+{
+ _PyOS_opterr = 1;
+ _PyOS_optind = 1;
+ _PyOS_optarg = NULL;
+ opt_ptr = L"";
+}
+
int _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring)
{
- static wchar_t *opt_ptr = L"";
wchar_t *ptr;
wchar_t option;
@@ -89,12 +98,6 @@ int _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring)
return '_';
}
- if (option == 'X') {
- fprintf(stderr,
- "-X is reserved for implementation-specific arguments\n");
- return '_';
- }
-
if ((ptr = wcschr(optstring, option)) == NULL) {
if (_PyOS_opterr)
fprintf(stderr, "Unknown option: -%c\n", (char)option);