21.05.2015, 19:07, Even Rouault kirjoitti:
Ari,

I regenerated the Python bindings and I'm now spammed with messages like the
following that cause the tests to fail:

$ python vsifile.py
   TEST: vsifile_1 ... swig/python detected a memory leak of type 'VSI_RETVAL
*', no destructor found.
swig/python detected a memory leak of type 'VSI_RETVAL *', no destructor
found.
swig/python detected a memory leak of type 'VSI_RETVAL *', no destructor
found.
fail
     line 96: failure
[...]

It looks like

  %{
  /* use this to not return the int returned by GDAL */
  typedef int RETURN_NONE;
+/* return value that is used for VSI methods that return -1 on error (and set
errno) */
+typedef int VSI_RETVAL;
%}

is not sufficient and we would need to instanciate typemaps for this in the
Python bindings ? I hate SWIG... I'm afraid other languages might have similar
issue

I tried to avoid a lot of ifdef PERLs...

There should be a way to tell swig that VSI_RETVAL should use int typemaps unless they are defined specially. Hm.

Ari



Even

I defined a new type VSI_RETVAL to be used instead of int with VSI
functions that return -1 in error and set errno.

For the Perl bindings I defined two typemaps for this type. One which
strips the return value and one which throws an error if the return
value is -1. The error is strerror(errno).

I think this improves the usability of those VSI functions from the
binded languages.

Ari

_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to