python: fix a memory leak in all added __iter__ methods
Reported by Yechuan Xia * python/spot/impl.i: Add %newobject to all __iter__ methods. * NEWS: Mention the list of affected methods. * THANKS: Update.
This commit is contained in:
parent
c12842c16f
commit
de295e4632
3 changed files with 17 additions and 1 deletions
|
|
@ -1012,6 +1012,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::state_out<spot::digraph<spot::twa_graph_state, spot::twa_graph_edge_data>> {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
@ -1020,6 +1021,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::state_out<spot::digraph<spot::kripke_graph_state, void>> {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
@ -1045,6 +1047,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::all_trans<spot::digraph<spot::kripke_graph_state, void>> {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
@ -1053,6 +1056,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::all_trans<spot::digraph<spot::twa_graph_state, spot::twa_graph_edge_data>> {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
@ -1061,6 +1065,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::const_universal_dests {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator_np(self->begin(), self->begin(),
|
||||
|
|
@ -1069,6 +1074,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::mark_container {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator_np(self->begin(), self->begin(),
|
||||
|
|
@ -1077,6 +1083,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::scc_edges<spot::digraph<spot::twa_graph_state, spot::twa_graph_edge_data> const, spot::internal::keep_all> {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
@ -1085,6 +1092,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::internal::scc_edges<spot::digraph<spot::twa_graph_state, spot::twa_graph_edge_data> const, spot::internal::keep_inner_scc> {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
@ -1113,6 +1121,7 @@ static void* ptr_for_bdddict(PyObject* obj)
|
|||
}
|
||||
|
||||
%extend spot::scc_info {
|
||||
%newobject __iter__(PyObject **PYTHON_SELF);
|
||||
swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF)
|
||||
{
|
||||
return swig::make_forward_iterator(self->begin(), self->begin(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue