python: fix return value of emptiness_check_instantiator
* wrap/python/spot.i: Fix typemap for
emptiness_check_instantiator::construct. The previous code used
to turn (None, "error") into simply ("error").
* wrap/python/ajax/spot.in: Fix handling or errors when
instantiating emptiness checks.
This commit is contained in:
parent
503a57cad2
commit
88044453fc
3 changed files with 31 additions and 2 deletions
10
ChangeLog
10
ChangeLog
|
|
@ -1,3 +1,13 @@
|
||||||
|
2012-03-04 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
|
python: fix return value of emptiness_check_instantiator
|
||||||
|
|
||||||
|
* wrap/python/spot.i: Fix typemap for
|
||||||
|
emptiness_check_instantiator::construct. The previous code used
|
||||||
|
to turn (None, "error") into simply ("error").
|
||||||
|
* wrap/python/ajax/spot.in: Fix handling or errors when
|
||||||
|
instantiating emptiness checks.
|
||||||
|
|
||||||
2012-02-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
2012-02-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
* NEWS: Summarize recent changes.
|
* NEWS: Summarize recent changes.
|
||||||
|
|
|
||||||
|
|
@ -489,6 +489,7 @@ if output_type == 'r':
|
||||||
if not eci:
|
if not eci:
|
||||||
unbufprint('<div class="parse-error">Cannot parse "' + opt
|
unbufprint('<div class="parse-error">Cannot parse "' + opt
|
||||||
+ '" near "' + err + '".</div>')
|
+ '" near "' + err + '".</div>')
|
||||||
|
ec = 0
|
||||||
else:
|
else:
|
||||||
ec_a = 0
|
ec_a = 0
|
||||||
n_acc = degen.number_of_acceptance_conditions()
|
n_acc = degen.number_of_acceptance_conditions()
|
||||||
|
|
|
||||||
|
|
@ -110,8 +110,26 @@ using namespace spot;
|
||||||
// function that return errors via a "char **err" argument.
|
// function that return errors via a "char **err" argument.
|
||||||
%typemap(in, numinputs=0) char** OUTPUT (char* temp)
|
%typemap(in, numinputs=0) char** OUTPUT (char* temp)
|
||||||
"$1 = &temp;";
|
"$1 = &temp;";
|
||||||
%typemap(argout, fragment="t_output_helper") char** OUTPUT
|
%typemap(argout) char** OUTPUT {
|
||||||
"$result = t_output_helper($result, SWIG_FromCharPtr(*$1));";
|
PyObject *obj = SWIG_FromCharPtr(*$1);
|
||||||
|
if (!$result) {
|
||||||
|
$result = obj;
|
||||||
|
//# If the function returns null_ptr (i.e. Py_None), we
|
||||||
|
//# don't want to override it with OUTPUT as in the
|
||||||
|
//# default implementation of t_output_helper.
|
||||||
|
// } else if ($result == Py_None) {
|
||||||
|
// Py_DECREF($result);
|
||||||
|
// $result = obj;
|
||||||
|
} else {
|
||||||
|
if (!PyList_Check($result)) {
|
||||||
|
PyObject *o2 = $result;
|
||||||
|
$result = PyList_New(1);
|
||||||
|
PyList_SetItem($result, 0, o2);
|
||||||
|
}
|
||||||
|
PyList_Append($result,obj);
|
||||||
|
Py_DECREF(obj);
|
||||||
|
}
|
||||||
|
};
|
||||||
%apply char** OUTPUT { char** err };
|
%apply char** OUTPUT { char** err };
|
||||||
|
|
||||||
// False and True cannot be redefined in Python3, even in a class.
|
// False and True cannot be redefined in Python3, even in a class.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue