[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light
/ cpython Public

Conversation

Copy link
Member

vstinner commented Mar 15, 2019

Replace messy _Py_wstrlist_xxx() functions with a new clean
_PyWstrList structure and new _PyWstrList_xxx() functions.

Changes:

  • Add _PyCoreConfig.use_module_search_paths to decide if
    _PyCoreConfig.module_search_paths should be computed or not, to
    support empty search path list.

  • _PyWstrList_Clear() sets length to 0 and items to NULL, whereas
    _Py_wstrlist_clear() only freed memory.

  • _PyWstrList_Append() returns an int, whereas _Py_wstrlist_append()
    returned _PyInitError.

  • _PyWstrList uses Py_ssize_t for the length, instead of int.

  • Replace (int, wchar_t**) with _PyWstrList in:

    • _PyPreConfig
    • _PyCoreConfig
    • _PyPreCmdline
    • _PyCmdline
  • Replace "int orig_argv; wchar_t **orig_argv;"
    with "_PyWstrList orig_argv".

  • _PyCmdline and _PyPreCmdline now also copy wchar_argv.

  • Rename _PyArgv_Decode() to _PyArgv_AsWstrList().

  • PySys_SetArgvEx() now pass the fixed (argc, argv) to
    _PyPathConfig_ComputeArgv0() (don't pass negative argc or NULL
    argv).

https://bugs.python.org/issue36301

Replace messy _Py_wstrlist_xxx() functions with a new clean
_PyWstrList structure and new _PyWstrList_xxx() functions.

Changes:

* Add _PyCoreConfig.use_module_search_paths to decide if
  _PyCoreConfig.module_search_paths should be computed or not, to
  support empty search path list.
* _PyWstrList_Clear() sets length to 0 and items to NULL, whereas
  _Py_wstrlist_clear() only freed memory.
* _PyWstrList_Append() returns an int, whereas _Py_wstrlist_append()
  returned _PyInitError.
* _PyWstrList uses Py_ssize_t for the length, instead of int.
* Replace (int, wchar_t**) with _PyWstrList in:

  * _PyPreConfig
  * _PyCoreConfig
  * _PyPreCmdline
  * _PyCmdline

* Replace "int orig_argv; wchar_t **orig_argv;"
  with "_PyWstrList orig_argv".
* _PyCmdline and _PyPreCmdline now also copy wchar_argv.
* Rename _PyArgv_Decode() to _PyArgv_AsWstrList().
* PySys_SetArgvEx() now pass the fixed (argc, argv) to
  _PyPathConfig_ComputeArgv0() (don't pass negative argc or NULL
  argv).
Fix also compilation on Windows
vstinner merged commit 74f6568 into python:master Mar 15, 2019
vstinner deleted the pywstrlist branch March 15, 2019 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments