diff options
author | Pablo Galindo Salgado <Pablogsal@gmail.com> | 2022-07-31 15:33:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 15:33:56 (GMT) |
commit | aa37ffda29ac48fb2df5a7029ba2e626ecc45850 (patch) | |
tree | 748f6ebe2d1bcc3b34cf999b15c1618a9365597b /Python | |
parent | 50b2261bdac98303087287b24eef96abd45a82f9 (diff) | |
download | cpython-aa37ffda29ac48fb2df5a7029ba2e626ecc45850.zip cpython-aa37ffda29ac48fb2df5a7029ba2e626ecc45850.tar.gz cpython-aa37ffda29ac48fb2df5a7029ba2e626ecc45850.tar.bz2 |
bpo-45445: Revert "bpo-45445: Fail if an invalid X-option is provided in the command line (GH-28823)" (#94745)
Diffstat (limited to 'Python')
-rw-r--r-- | Python/initconfig.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/Python/initconfig.c b/Python/initconfig.c index d29c693..70f0363 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -2061,49 +2061,6 @@ _PyConfig_InitImportConfig(PyConfig *config) return config_init_import(config, 1); } -// List of known xoptions to validate against the provided ones. Note that all -// options are listed, even if they are only available if a specific macro is -// set, like -X showrefcount which requires a debug build. In this case unknown -// options are silently ignored. -const wchar_t* known_xoptions[] = { - L"faulthandler", - L"showrefcount", - L"tracemalloc", - L"importtime", - L"dev", - L"utf8", - L"pycache_prefix", - L"warn_default_encoding", - L"no_debug_ranges", - L"frozen_modules", - NULL, -}; - -static const wchar_t* -_Py_check_xoptions(const PyWideStringList *xoptions, const wchar_t **names) -{ - for (Py_ssize_t i=0; i < xoptions->length; i++) { - const wchar_t *option = xoptions->items[i]; - size_t len; - wchar_t *sep = wcschr(option, L'='); - if (sep != NULL) { - len = (sep - option); - } - else { - len = wcslen(option); - } - int found = 0; - for (const wchar_t** name = names; *name != NULL; name++) { - if (wcsncmp(option, *name, len) == 0 && (*name)[len] == L'\0') { - found = 1; - } - } - if (found == 0) { - return option; - } - } - return NULL; -} static PyStatus config_read(PyConfig *config, int compute_path_config) @@ -2119,11 +2076,6 @@ config_read(PyConfig *config, int compute_path_config) } /* -X options */ - const wchar_t* option = _Py_check_xoptions(&config->xoptions, known_xoptions); - if (option != NULL) { - return PyStatus_Error("Unknown value for option -X (see --help-xoptions)"); - } - if (config_get_xoption(config, L"showrefcount")) { config->show_ref_count = 1; } |