diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-07-31 15:58:02 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 15:58:02 (GMT) |
commit | 147a9a8be79fb5666e264175e3047d6d67b50254 (patch) | |
tree | 4946149ab1c89591c662e9e2d6f2f83889277883 /Python | |
parent | db13c0c1b8bc8c15d920a94ca008aabea4037697 (diff) | |
download | cpython-147a9a8be79fb5666e264175e3047d6d67b50254.zip cpython-147a9a8be79fb5666e264175e3047d6d67b50254.tar.gz cpython-147a9a8be79fb5666e264175e3047d6d67b50254.tar.bz2 |
bpo-45445: Revert "bpo-45445: Fail if an invalid X-option is provided in the command line (GH-28823)" (GH-94745)
(cherry picked from commit aa37ffda29ac48fb2df5a7029ba2e626ecc45850)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
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 d313850..3980b21 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -2046,49 +2046,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) @@ -2104,11 +2061,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; } |