fix #1188207 and uniform the error/null/none handling
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7225 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
645c1698fa
commit
a2f5af9ddd
5 changed files with 11 additions and 17 deletions
|
|
@ -613,8 +613,7 @@ namespace swig
|
|||
} else {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"sequence size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -138,7 +138,8 @@ SWIGINTERNINLINE PyObject *
|
|||
SWIG_FromCharArray(const char* carray, size_t size)
|
||||
{
|
||||
if (size > INT_MAX) {
|
||||
return Py_None;
|
||||
return SWIG_NewPointerObj(SWIG_const_cast(carray,char *),
|
||||
SWIG_TypeQuery("char *"), 0);
|
||||
} else {
|
||||
return PyString_FromStringAndSize(carray, SWIG_numeric_cast(size,int));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,8 +132,8 @@ SWIGINTERNINLINE PyObject *
|
|||
SWIG_FromWCharArray(const wchar_t * carray, size_t size)
|
||||
{
|
||||
if (size > INT_MAX) {
|
||||
SWIG_NewPointerObj(SWIG_const_cast(carray,wchar_t *), SWIG_TypeQuery("wchar_t *"), 0);
|
||||
return Py_None;
|
||||
return SWIG_NewPointerObj(SWIG_const_cast(carray,wchar_t *),
|
||||
SWIG_TypeQuery("wchar_t *"), 0);
|
||||
} else {
|
||||
return PyUnicode_FromWideChar(carray, SWIG_numeric_cast(size,int));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@
|
|||
if (pysize < 0) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"map size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
PyObject *obj = PyDict_New();
|
||||
for (const_iterator i= map.begin(); i!= map.end(); ++i) {
|
||||
|
|
@ -93,8 +92,7 @@
|
|||
if (pysize < 0) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"map size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
PyObject* keyList = PyList_New(pysize);
|
||||
Map::const_iterator i = self->begin();
|
||||
|
|
@ -110,8 +108,7 @@
|
|||
if (pysize < 0) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"map size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
PyObject* valList = PyTuple_New(pysize);
|
||||
Map::const_iterator i = self->begin();
|
||||
|
|
@ -127,8 +124,7 @@
|
|||
if (pysize < 0) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"map size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
PyObject* itemList = PyTuple_New(pysize);
|
||||
Map::const_iterator i = self->begin();
|
||||
|
|
@ -149,8 +145,7 @@
|
|||
if (pysize < 0) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"map size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
PyObject* keyTuple = PyTuple_New(pysize);
|
||||
Map::const_iterator i = self->begin();
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@
|
|||
if (pysize < 0) {
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"multimap size not valid in python");
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
return NULL;
|
||||
}
|
||||
PyObject *obj = PyDict_New();
|
||||
for (const_iterator i= multimap.begin(); i!= multimap.end(); ++i) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue