Issue #19512: Add _PySys_GetObjectId() and _PySys_SetObjectId() functions
This commit is contained in:
parent
b44562b6b9
commit
d67bd45537
|
@ -8,7 +8,10 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PyAPI_FUNC(PyObject *) PySys_GetObject(const char *);
|
PyAPI_FUNC(PyObject *) PySys_GetObject(const char *);
|
||||||
|
PyAPI_FUNC(PyObject *) _PySys_GetObjectId(_Py_Identifier *key);
|
||||||
PyAPI_FUNC(int) PySys_SetObject(const char *, PyObject *);
|
PyAPI_FUNC(int) PySys_SetObject(const char *, PyObject *);
|
||||||
|
PyAPI_FUNC(int) _PySys_SetObjectId(_Py_Identifier *key, PyObject *);
|
||||||
|
|
||||||
PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **);
|
PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **);
|
||||||
PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int);
|
PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int);
|
||||||
PyAPI_FUNC(void) PySys_SetPath(const wchar_t *);
|
PyAPI_FUNC(void) PySys_SetPath(const wchar_t *);
|
||||||
|
|
|
@ -41,6 +41,16 @@ extern const char *PyWin_DLLVersionString;
|
||||||
#include <langinfo.h>
|
#include <langinfo.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
PyObject *
|
||||||
|
_PySys_GetObjectId(_Py_Identifier *key)
|
||||||
|
{
|
||||||
|
PyThreadState *tstate = PyThreadState_GET();
|
||||||
|
PyObject *sd = tstate->interp->sysdict;
|
||||||
|
if (sd == NULL)
|
||||||
|
return NULL;
|
||||||
|
return _PyDict_GetItemId(sd, key);
|
||||||
|
}
|
||||||
|
|
||||||
PyObject *
|
PyObject *
|
||||||
PySys_GetObject(const char *name)
|
PySys_GetObject(const char *name)
|
||||||
{
|
{
|
||||||
|
@ -51,6 +61,21 @@ PySys_GetObject(const char *name)
|
||||||
return PyDict_GetItemString(sd, name);
|
return PyDict_GetItemString(sd, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
_PySys_SetObjectId(_Py_Identifier *key, PyObject *v)
|
||||||
|
{
|
||||||
|
PyThreadState *tstate = PyThreadState_GET();
|
||||||
|
PyObject *sd = tstate->interp->sysdict;
|
||||||
|
if (v == NULL) {
|
||||||
|
if (_PyDict_GetItemId(sd, key) == NULL)
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return _PyDict_DelItemId(sd, key);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return _PyDict_SetItemId(sd, key, v);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
PySys_SetObject(const char *name, PyObject *v)
|
PySys_SetObject(const char *name, PyObject *v)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue