Due to what seems like a bug introduced during Python 3 support merge, all the generated Python functions used the general "*args" signature instead of using the named parameters when possible. This happened due to is_primitive_defaultargs() always returning false for the functions without any default arguments as "value" passed to convertValue() was NULL in this case and convertValue() always returns false for NULL. Fix this by checking for value being non-NULL before calling convertValue(). Doing this exposed several problems with the handling of unnamed, duplicate (happens for parameters called INOUT, for example) or clashing with keywords parameter names, so the code dealing with them had to be fixed too. Basically just use makeParameterName() consistently everywhere. |
||
|---|---|---|
| .. | ||
| CParse | ||
| DOH | ||
| Include | ||
| Modules | ||
| Preprocessor | ||
| Swig | ||
| Makefile.am | ||
| README | ||
SWIG Source directory
Source/DOH - A core set of basic datatypes including
strings, lists, hashes, and files. Used
extensively by the rest of SWIG.
Source/Swig - Swig core. Type-system, utility functions.
Source/Preprocessor - SWIG C Preprocessor
Source/CParse - SWIG C Parser (still messy)
Source/Modules - Language modules.
Source/Include - Include files.
Historic directories which may be in CVS, but have been removed:
Source/Modules1.1 - Old SWIG-1.1 modules. Empty.
Source/LParse - Experimental parser. Officially dead
as CParse is more capable.
Source/SWIG1.1 - Old SWIG1.1 core. Completely empty now.