Hi Yegor, You wrote on Mon, Aug 05, 2019 at 03:46:16PM +0200: > I get following compiler warnings when compiling libftdi Python > bindings with gcc version 8.3.0 (Ubuntu 8.3.0-6ubuntu1): > > Scanning dependencies of target _ftdi1 > [ 22%] Building C object > python/CMakeFiles/_ftdi1.dir/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c.o > /home/user/Documents/versioned/libftdi/build/python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c: > In function ‘_wrap_read_data’: > /home/user/Documents/versioned/libftdi/build/python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c:3842:3: > warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] > if(result<0) arg3=0; resultobj = > SWIG_Python_AppendOutput(resultobj, charp2str((char*)arg2, arg3)); > free(arg2); > ^~ > /home/user/Documents/versioned/libftdi/build/python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c:3842:24: > note: ...this statement, but the latter is misleadingly indented as if > it were guarded by the ‘if’ > if(result<0) arg3=0; resultobj = > SWIG_Python_AppendOutput(resultobj, charp2str((char*)arg2, arg3)); > free(arg2); > ^~~~~~~~~ > /home/user/Documents/versioned/libftdi/build/python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c: > In function ‘_wrap_get_eeprom_buf’: > /home/user/Documents/versioned/libftdi/build/python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c:4084:3: > warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] > if(result<0) arg3=0; resultobj = > SWIG_Python_AppendOutput(resultobj, charp2str((char*)arg2, arg3)); > free(arg2); > ^~ > /home/user/Documents/versioned/libftdi/build/python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c:4084:24: > note: ...this statement, but the latter is misleadingly indented as if > it were guarded by the ‘if’ > if(result<0) arg3=0; resultobj = > SWIG_Python_AppendOutput(resultobj, charp2str((char*)arg2, arg3)); > free(arg2); > ^~~~~~~~~ > > The code looking wired indeed i.e. either without parenthesis or indentation.
indeed, this auto-generated code looks very hard to read. May be there is an option in SWIG to output "beautified" code, it will be the same on the machine level anyway. I also quickly grepped for "charp2": ftdi1.i:inline PyObject* charp2str(const char *v_, long len) so it should be in the generated code. On a different note, I'm back in libftdi business after guiding a mass scale kernel upgrade from 3.14 to 4.19 on way too many different machines. Let's try to put out a libftdi release in August finally. Cheers, Thomas -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to libftdi+unsubscr...@developer.intra2net.com