Re: How to add code to a C wrapper function generated by SWIG (for Python)

Ian Boyd <[email protected]> Fri, 22 Jan 2021 10:12:59 +0000
Newsgroups gmane.comp.programming.swig
Message-ID <CAEofer5wiganyqCejwktp6nJyu7quX0P4VKNGVOH239GPbYMRQ@mail.gmail.com>
Another option I think I have seen before is to use %ignore to prevent Swig
from generating a destructor and then use %extend to implement a custom one.

On Fri, 22 Jan 2021 at 10:00, Rokas Kupstys via Swig-user <
[email protected]> wrote:

> Maybe %newobject + %newfree typemaps would work for you in this case?
>
> -- Rokas Kupstys
>
> On 2021-01-22 10:48, lille stor wrote:
>
> Hi,
>
> When generating a Python wrapper using SWIG, many C wrapper functions are
> generated. One of them is called "_wrap_delete_Cursor" which looks
> like this (I have stripped it to the bare minimum):
>
>    SWIGINTERN PyObject *_wrap_delete_Cursor(PyObject *self, PyObject *args) {
>
>        // some generated C code by SWIG
>
>        // need to add code to call a C function to release allocated memory
>
>    }
>
> This function is called when the object Cursor (created in Python) no
> longer exists. Now, my problem is that I have some allocated memory on the
> C side that needs to be released before existing the function (otherwise,
> there will be memory leaks).
>
> Do you know how I can add a line of code this function to release memory?
> All help is really welcome!
>
> L.
>
>
> _______________________________________________
> Swig-user mailing [email protected]://lists.sourceforge.net/lists/listinfo/swig-user
>
> _______________________________________________
> Swig-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/swig-user
>

_______________________________________________
Swig-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/swig-user