aboutsummaryrefslogtreecommitdiff
path: root/Lib/octave/octcontainer.swg
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/octave/octcontainer.swg')
-rw-r--r--Lib/octave/octcontainer.swg18
1 files changed, 8 insertions, 10 deletions
diff --git a/Lib/octave/octcontainer.swg b/Lib/octave/octcontainer.swg
index 771edbde0..310a849d9 100644
--- a/Lib/octave/octcontainer.swg
+++ b/Lib/octave/octcontainer.swg
@@ -202,8 +202,8 @@ namespace swig
// swig::SwigVar_PyObject item = OctSequence_GetItem(_seq, _index);
octave_value item; // * todo
try {
- return swig::as<T>(item, true);
- } catch (std::exception& e) {
+ return swig::as<T>(item);
+ } catch (const std::exception& e) {
char msg[1024];
sprintf(msg, "in sequence element %d ", _index);
if (!Octave_Error_Occurred()) {
@@ -401,20 +401,14 @@ namespace swig
return const_reference(_seq, n);
}
- bool check(bool set_err = true) const
+ bool check() const
{
int s = size();
for (int i = 0; i < s; ++i) {
// swig::SwigVar_PyObject item = OctSequence_GetItem(_seq, i);
octave_value item; // * todo
- if (!swig::check<value_type>(item)) {
- if (set_err) {
- char msg[1024];
- sprintf(msg, "in sequence element %d", i);
- SWIG_Error(SWIG_RuntimeError, msg);
- }
+ if (!swig::check<value_type>(item))
return false;
- }
}
return true;
}
@@ -567,7 +561,11 @@ namespace swig {
if (seq) *seq = p;
return SWIG_OLDOBJ;
}
+%#if SWIG_OCTAVE_PREREQ(4,4,0)
+ } else if (obj.iscell()) {
+%#else
} else if (obj.is_cell()) {
+%#endif
try {
OctSequence_Cont<value_type> octseq(obj);
if (seq) {