Skip to content

Commit 3f1cb6d

Browse files
committed
Solve issues with exceptions.
1 parent 1c6af4b commit 3f1cb6d

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

source/loaders/py_loader/source/py_loader_symbol_fallback.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ static PyTypeObject *PyDict_TypePtr = NULL;
3636
static PyTypeObject *PyModule_TypePtr = NULL;
3737
static PyTypeObject *PyType_TypePtr = NULL;
3838
static PyObject *Py_NoneStructPtr = NULL;
39-
static PyObject *PyExc_ExceptionStructPtr = NULL;
40-
static PyObject *PyExc_FileNotFoundErrorStructPtr = NULL;
41-
static PyObject *PyExc_TypeErrorStructPtr = NULL;
42-
static PyObject *PyExc_ValueErrorStructPtr = NULL;
43-
static PyObject *PyExc_RuntimeErrorStructPtr = NULL;
39+
static PyObject **PyExc_ExceptionStructPtr = NULL;
40+
static PyObject **PyExc_FileNotFoundErrorStructPtr = NULL;
41+
static PyObject **PyExc_TypeErrorStructPtr = NULL;
42+
static PyObject **PyExc_ValueErrorStructPtr = NULL;
43+
static PyObject **PyExc_RuntimeErrorStructPtr = NULL;
4444
static PyObject *Py_FalseStructPtr = NULL;
4545
static PyObject *Py_TrueStructPtr = NULL;
4646
#endif
@@ -149,39 +149,39 @@ int py_loader_symbol_fallback_initialize(dynlink py_library)
149149
return 1;
150150
}
151151

152-
dynlink_symbol_uncast_type(address, PyObject *, PyExc_ExceptionStructPtr);
152+
dynlink_symbol_uncast_type(address, PyObject **, PyExc_ExceptionStructPtr);
153153

154154
/* PyExc_FileNotFoundError */
155155
if (dynlink_symbol(py_library, "PyExc_FileNotFoundError", &address) != 0)
156156
{
157157
return 1;
158158
}
159159

160-
dynlink_symbol_uncast_type(address, PyObject *, PyExc_FileNotFoundErrorStructPtr);
160+
dynlink_symbol_uncast_type(address, PyObject **, PyExc_FileNotFoundErrorStructPtr);
161161

162162
/* PyExc_TypeError */
163163
if (dynlink_symbol(py_library, "PyExc_TypeError", &address) != 0)
164164
{
165165
return 1;
166166
}
167167

168-
dynlink_symbol_uncast_type(address, PyObject *, PyExc_TypeErrorStructPtr);
168+
dynlink_symbol_uncast_type(address, PyObject **, PyExc_TypeErrorStructPtr);
169169

170170
/* PyExc_ValueError */
171171
if (dynlink_symbol(py_library, "PyExc_ValueError", &address) != 0)
172172
{
173173
return 1;
174174
}
175175

176-
dynlink_symbol_uncast_type(address, PyObject *, PyExc_ValueErrorStructPtr);
176+
dynlink_symbol_uncast_type(address, PyObject **, PyExc_ValueErrorStructPtr);
177177

178178
/* PyExc_RuntimeError */
179179
if (dynlink_symbol(py_library, "PyExc_RuntimeError", &address) != 0)
180180
{
181181
return 1;
182182
}
183183

184-
dynlink_symbol_uncast_type(address, PyObject *, PyExc_RuntimeErrorStructPtr);
184+
dynlink_symbol_uncast_type(address, PyObject **, PyExc_RuntimeErrorStructPtr);
185185

186186
/* Py_False */
187187
if (dynlink_symbol(py_library, "_Py_FalseStruct", &address) != 0)
@@ -295,7 +295,7 @@ PyObject *Py_NonePtr(void)
295295
PyObject *PyExc_ExceptionPtr(void)
296296
{
297297
#if defined(_WIN32) && defined(_MSC_VER)
298-
return PyExc_ExceptionStructPtr;
298+
return *PyExc_ExceptionStructPtr;
299299
#else
300300
return PyExc_Exception;
301301
#endif
@@ -304,7 +304,7 @@ PyObject *PyExc_ExceptionPtr(void)
304304
PyObject *PyExc_FileNotFoundErrorPtr(void)
305305
{
306306
#if defined(_WIN32) && defined(_MSC_VER)
307-
return PyExc_FileNotFoundErrorStructPtr;
307+
return *PyExc_FileNotFoundErrorStructPtr;
308308
#else
309309
return PyExc_FileNotFoundError;
310310
#endif
@@ -313,7 +313,7 @@ PyObject *PyExc_FileNotFoundErrorPtr(void)
313313
PyObject *PyExc_TypeErrorPtr(void)
314314
{
315315
#if defined(_WIN32) && defined(_MSC_VER)
316-
return PyExc_TypeErrorStructPtr;
316+
return *PyExc_TypeErrorStructPtr;
317317
#else
318318
return PyExc_TypeError;
319319
#endif
@@ -322,7 +322,7 @@ PyObject *PyExc_TypeErrorPtr(void)
322322
PyObject *PyExc_ValueErrorPtr(void)
323323
{
324324
#if defined(_WIN32) && defined(_MSC_VER)
325-
return PyExc_ValueErrorStructPtr;
325+
return *PyExc_ValueErrorStructPtr;
326326
#else
327327
return PyExc_ValueError;
328328
#endif
@@ -331,7 +331,7 @@ PyObject *PyExc_ValueErrorPtr(void)
331331
PyObject *PyExc_RuntimeErrorPtr(void)
332332
{
333333
#if defined(_WIN32) && defined(_MSC_VER)
334-
return PyExc_RuntimeErrorStructPtr;
334+
return *PyExc_RuntimeErrorStructPtr;
335335
#else
336336
return PyExc_RuntimeError;
337337
#endif

0 commit comments

Comments
 (0)