bpo-40910: Export Py_GetArgcArgv() function (GH-20721) (GH-20723)

Export explicitly the Py_GetArgcArgv() function to the C API and
document the function. Previously, it was exported implicitly which
no longer works since Python is built with -fvisibility=hidden.

* Add PyConfig._orig_argv member.
* Py_InitializeFromConfig() no longer calls _PyConfig_Write() twice.
* PyConfig_Read() no longer initializes Py_GetArgcArgv(): it is now
  _PyConfig_Write() responsibility.
* _PyConfig_Write() result type becomes PyStatus instead of void.
* Write an unit test on Py_GetArgcArgv().

(cherry picked from commit e81f6e687d)
This commit is contained in:
Victor Stinner 2020-06-08 18:44:50 +02:00 committed by GitHub
parent 1220a47079
commit dedaac040f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 131 additions and 22 deletions

View file

@ -734,6 +734,7 @@ EXPORTS
Py_FinalizeEx=python39.Py_FinalizeEx
Py_GenericAlias=python39.Py_GenericAlias
Py_GenericAliasType=python39.Py_GenericAliasType
Py_GetArgcArgv=python39.Py_GetArgcArgv
Py_GetBuildInfo=python39.Py_GetBuildInfo
Py_GetCompiler=python39.Py_GetCompiler
Py_GetCopyright=python39.Py_GetCopyright