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