mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
Use the new Unicode API
* Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0) * Replce PyUnicode_FromUnicode(str, len) by PyUnicode_FromWideChar(str, len) * Replace Py_UNICODE by wchar_t * posix_putenv() uses PyUnicode_FromFormat() to create the string, instead of PyUnicode_FromUnicode() + _snwprintf()
This commit is contained in:
parent
b84d723509
commit
9d3b93ba30
10 changed files with 38 additions and 41 deletions
|
@ -419,14 +419,14 @@ sp_CreateProcess(PyObject* self, PyObject* args)
|
|||
PyObject* environment;
|
||||
wchar_t *wenvironment;
|
||||
|
||||
Py_UNICODE* application_name;
|
||||
Py_UNICODE* command_line;
|
||||
wchar_t* application_name;
|
||||
wchar_t* command_line;
|
||||
PyObject* process_attributes; /* ignored */
|
||||
PyObject* thread_attributes; /* ignored */
|
||||
int inherit_handles;
|
||||
int creation_flags;
|
||||
PyObject* env_mapping;
|
||||
Py_UNICODE* current_directory;
|
||||
wchar_t* current_directory;
|
||||
PyObject* startup_info;
|
||||
|
||||
if (! PyArg_ParseTuple(args, "ZZOOiiOZO:CreateProcess",
|
||||
|
@ -454,15 +454,10 @@ sp_CreateProcess(PyObject* self, PyObject* args)
|
|||
if (PyErr_Occurred())
|
||||
return NULL;
|
||||
|
||||
if (env_mapping == Py_None)
|
||||
environment = NULL;
|
||||
else {
|
||||
if (env_mapping != Py_None) {
|
||||
environment = getenvironment(env_mapping);
|
||||
if (! environment)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (environment) {
|
||||
wenvironment = PyUnicode_AsUnicode(environment);
|
||||
if (wenvironment == NULL)
|
||||
{
|
||||
|
@ -470,8 +465,10 @@ sp_CreateProcess(PyObject* self, PyObject* args)
|
|||
return NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
else {
|
||||
environment = NULL;
|
||||
wenvironment = NULL;
|
||||
}
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
result = CreateProcessW(application_name,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue