@@ -2003,8 +2003,7 @@ config_init_argv(_PyCoreConfig *config, const _PyPreCmdline *cmdline)
20032003
20042004
20052005static _PyInitError
2006- core_read_precmdline (_PyCoreConfig * config , const _PyArgv * args ,
2007- _PyPreCmdline * precmdline )
2006+ core_read_precmdline (_PyCoreConfig * config , _PyPreCmdline * precmdline )
20082007{
20092008 _PyInitError err ;
20102009
@@ -2072,23 +2071,47 @@ config_read_cmdline(_PyCoreConfig *config, _PyPreCmdline *precmdline)
20722071}
20732072
20742073
2074+ _PyInitError
2075+ _PyCoreConfig_SetPyArgv (_PyCoreConfig * config , const _PyArgv * args )
2076+ {
2077+ return _PyArgv_AsWstrList (args , & config -> argv );
2078+ }
2079+
2080+
2081+ _PyInitError
2082+ _PyCoreConfig_SetArgv (_PyCoreConfig * config , int argc , char * * argv )
2083+ {
2084+ _PyArgv args = {
2085+ .argc = argc ,
2086+ .use_bytes_argv = 1 ,
2087+ .bytes_argv = argv ,
2088+ .wchar_argv = NULL };
2089+ return _PyCoreConfig_SetPyArgv (config , & args );
2090+ }
2091+
2092+
2093+ _PyInitError
2094+ _PyCoreConfig_SetWideArgv (_PyCoreConfig * config , int argc , wchar_t * * argv )
2095+ {
2096+ _PyArgv args = {
2097+ .argc = argc ,
2098+ .use_bytes_argv = 0 ,
2099+ .bytes_argv = NULL ,
2100+ .wchar_argv = argv };
2101+ return _PyCoreConfig_SetPyArgv (config , & args );
2102+ }
2103+
2104+
20752105/* Read the configuration into _PyCoreConfig from:
20762106
20772107 * Command line arguments
20782108 * Environment variables
20792109 * Py_xxx global configuration variables */
20802110_PyInitError
2081- _PyCoreConfig_Read (_PyCoreConfig * config , const _PyArgv * args )
2111+ _PyCoreConfig_Read (_PyCoreConfig * config )
20822112{
20832113 _PyInitError err ;
20842114
2085- if (args ) {
2086- err = _PyArgv_AsWstrList (args , & config -> argv );
2087- if (_Py_INIT_FAILED (err )) {
2088- return err ;
2089- }
2090- }
2091-
20922115 err = _Py_PreInitializeFromCoreConfig (config );
20932116 if (_Py_INIT_FAILED (err )) {
20942117 return err ;
@@ -2097,7 +2120,7 @@ _PyCoreConfig_Read(_PyCoreConfig *config, const _PyArgv *args)
20972120 _PyCoreConfig_GetGlobalConfig (config );
20982121
20992122 _PyPreCmdline precmdline = _PyPreCmdline_INIT ;
2100- err = core_read_precmdline (config , args , & precmdline );
2123+ err = core_read_precmdline (config , & precmdline );
21012124 if (_Py_INIT_FAILED (err )) {
21022125 goto done ;
21032126 }
0 commit comments