• Victor Stinner's avatar
    bpo-38234: Fix _PyConfig_InitPathConfig() (GH-16335) · 9c42f8cd
    Victor Stinner authored
    * _PyConfig_InitPathConfig() now starts by copying the global path
      configuration, and then override values set in PyConfig.
    * _PyPathConfig_Calculate() implementations no longer override
      _PyPathConfig fields which are already computed. For example,
      if _PyPathConfig.prefix is not NULL, leave it unchanged.
    * If Py_SetPath() has been called, _PyConfig_InitPathConfig() doesn't
      call _PyPathConfig_Calculate() anymore.
    * _PyPathConfig_Calculate() no longer uses PyConfig,
      except to initialize PyCalculatePath structure.
    * pathconfig_calculate(): remove useless temporary
      "_PyPathConfig new_config" variable.
    * calculate_module_search_path(): remove hack to workaround memory
      allocation failure, call Py_FatalError() instead.
    * Fix get_program_full_path(): handle memory allocation failure.
    9c42f8cd
getpathp.c 33.4 KB