Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Vernier <yann@algonet.se>2005-12-27 18:28:09 +0300
committerYann Vernier <yann@algonet.se>2005-12-27 18:28:09 +0300
commita61871360f3920a54fdb1acaaccb6cd5a4e61f85 (patch)
treefd5dd301d28e5404060c791e8db1191b4a1ea27c /source/blender/python/api2_2x/gen_utils.c
parentb39465b7fb64b84ae3e2b3032b2c2e1195b59c96 (diff)
Fix crash in EXPP_(int|obj)Error. These functions are redundant;
they only differ by return type, so it's easier to just call PyErr_Format and return appropriately.
Diffstat (limited to 'source/blender/python/api2_2x/gen_utils.c')
-rw-r--r--source/blender/python/api2_2x/gen_utils.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/python/api2_2x/gen_utils.c b/source/blender/python/api2_2x/gen_utils.c
index 4e42c06d2a8..4460a93d38f 100644
--- a/source/blender/python/api2_2x/gen_utils.c
+++ b/source/blender/python/api2_2x/gen_utils.c
@@ -176,27 +176,29 @@ int EXPP_ReturnIntError( PyObject * type, char *error_msg )
int EXPP_intError(PyObject *type, const char *format, ...)
{
- char *error = "";
+ PyObject *error;
va_list vlist;
va_start(vlist, format);
- vsprintf(error, format, vlist);
+ error = PyString_FromFormatV(format, vlist);
va_end(vlist);
- PyErr_SetString(type, error);
+ PyErr_SetObject(type, error);
+ Py_DECREF(error);
return -1;
}
//Like EXPP_ReturnPyObjError but takes a printf format string and multiple arguments
PyObject *EXPP_objError(PyObject *type, const char *format, ...)
{
- char *error = "";
+ PyObject *error;
va_list vlist;
va_start(vlist, format);
- vsprintf(error, format, vlist);
+ error = PyString_FromFormatV(format, vlist);
va_end(vlist);
- PyErr_SetString(type, error);
+ PyErr_SetObject(type, error);
+ Py_DECREF(error);
return NULL;
}