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 {
|
} else {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"sequence size not valid in python");
|
"sequence size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,8 @@ SWIGINTERNINLINE PyObject *
|
||||||
SWIG_FromCharArray(const char* carray, size_t size)
|
SWIG_FromCharArray(const char* carray, size_t size)
|
||||||
{
|
{
|
||||||
if (size > INT_MAX) {
|
if (size > INT_MAX) {
|
||||||
return Py_None;
|
return SWIG_NewPointerObj(SWIG_const_cast(carray,char *),
|
||||||
|
SWIG_TypeQuery("char *"), 0);
|
||||||
} else {
|
} else {
|
||||||
return PyString_FromStringAndSize(carray, SWIG_numeric_cast(size,int));
|
return PyString_FromStringAndSize(carray, SWIG_numeric_cast(size,int));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -132,8 +132,8 @@ SWIGINTERNINLINE PyObject *
|
||||||
SWIG_FromWCharArray(const wchar_t * carray, size_t size)
|
SWIG_FromWCharArray(const wchar_t * carray, size_t size)
|
||||||
{
|
{
|
||||||
if (size > INT_MAX) {
|
if (size > INT_MAX) {
|
||||||
SWIG_NewPointerObj(SWIG_const_cast(carray,wchar_t *), SWIG_TypeQuery("wchar_t *"), 0);
|
return SWIG_NewPointerObj(SWIG_const_cast(carray,wchar_t *),
|
||||||
return Py_None;
|
SWIG_TypeQuery("wchar_t *"), 0);
|
||||||
} else {
|
} else {
|
||||||
return PyUnicode_FromWideChar(carray, SWIG_numeric_cast(size,int));
|
return PyUnicode_FromWideChar(carray, SWIG_numeric_cast(size,int));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,7 @@
|
||||||
if (pysize < 0) {
|
if (pysize < 0) {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"map size not valid in python");
|
"map size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
PyObject *obj = PyDict_New();
|
PyObject *obj = PyDict_New();
|
||||||
for (const_iterator i= map.begin(); i!= map.end(); ++i) {
|
for (const_iterator i= map.begin(); i!= map.end(); ++i) {
|
||||||
|
|
@ -93,8 +92,7 @@
|
||||||
if (pysize < 0) {
|
if (pysize < 0) {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"map size not valid in python");
|
"map size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
PyObject* keyList = PyList_New(pysize);
|
PyObject* keyList = PyList_New(pysize);
|
||||||
Map::const_iterator i = self->begin();
|
Map::const_iterator i = self->begin();
|
||||||
|
|
@ -110,8 +108,7 @@
|
||||||
if (pysize < 0) {
|
if (pysize < 0) {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"map size not valid in python");
|
"map size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
PyObject* valList = PyTuple_New(pysize);
|
PyObject* valList = PyTuple_New(pysize);
|
||||||
Map::const_iterator i = self->begin();
|
Map::const_iterator i = self->begin();
|
||||||
|
|
@ -127,8 +124,7 @@
|
||||||
if (pysize < 0) {
|
if (pysize < 0) {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"map size not valid in python");
|
"map size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
PyObject* itemList = PyTuple_New(pysize);
|
PyObject* itemList = PyTuple_New(pysize);
|
||||||
Map::const_iterator i = self->begin();
|
Map::const_iterator i = self->begin();
|
||||||
|
|
@ -149,8 +145,7 @@
|
||||||
if (pysize < 0) {
|
if (pysize < 0) {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"map size not valid in python");
|
"map size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
PyObject* keyTuple = PyTuple_New(pysize);
|
PyObject* keyTuple = PyTuple_New(pysize);
|
||||||
Map::const_iterator i = self->begin();
|
Map::const_iterator i = self->begin();
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,7 @@
|
||||||
if (pysize < 0) {
|
if (pysize < 0) {
|
||||||
PyErr_SetString(PyExc_OverflowError,
|
PyErr_SetString(PyExc_OverflowError,
|
||||||
"multimap size not valid in python");
|
"multimap size not valid in python");
|
||||||
Py_INCREF(Py_None);
|
return NULL;
|
||||||
return Py_None;
|
|
||||||
}
|
}
|
||||||
PyObject *obj = PyDict_New();
|
PyObject *obj = PyDict_New();
|
||||||
for (const_iterator i= multimap.begin(); i!= multimap.end(); ++i) {
|
for (const_iterator i= multimap.begin(); i!= multimap.end(); ++i) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue