From: GitHub <no...@gi...> - 2013-12-23 21:15:50
|
Branch: refs/heads/master Home: https://github.com/swig/swig Commit: ad02cb98e6847147b4a6e5d4c327403bc71f9d2c https://github.com/swig/swig/commit/ad02cb98e6847147b4a6e5d4c327403bc71f9d2c Author: Vadim Zeitlin <vz...@ze...> Date: 2013-12-23 (Mon, 23 Dec 2013) Changed paths: M Examples/test-suite/java/preproc_line_file_runme.java Log Message: ----------- Relax Java preproc_line_file unit test to pass in a separate build directory. Exact paths comparison doesn't work when SWIG is built in a directory different from the source one, so check whether the path just ends with the expected path components instead. This allows all Java tests to pass in this build configuration. closes #115 Commit: 88a0e228a9c80bedc414164f17b26be0147da333 https://github.com/swig/swig/commit/88a0e228a9c80bedc414164f17b26be0147da333 Author: Vadim Zeitlin <vz...@ze...> Date: 2013-12-23 (Mon, 23 Dec 2013) Changed paths: M CHANGES.current M Examples/perl5/xmlstring/xmlstring.i M Examples/test-suite/perl5/primitive_types_runme.pl M Examples/test-suite/primitive_types.i M Examples/test-suite/python/primitive_types_runme.py M Lib/typemaps/string.swg M Lib/typemaps/strings.swg M Lib/typemaps/wstring.swg Log Message: ----------- Change the length of strings created from fixed-size buffers. Use the usual C rule for NUL-terminated strings instead of discarding all the trailing NUL characters. This was unexpected (as buffers in C code are not necessarily always padded with NULs to their full length) and also inconsistent among languages as this was only done for those of them using typemaps/strings.swg but not for C# or Java, for example, which terminated the string at the first NUL even before this change. Notice that this patch couldn't use strlen() or wcslen() with possibly not NUL-terminated strings, so we had to add [our own equivalents of] strnlen() and wcsnlen() and use them instead. This required adding yet another parameter to string typemap macros, so update the example using them accordingly too. Commit: cdf1ba912067f306284ab37536862eeeeef8fedb https://github.com/swig/swig/commit/cdf1ba912067f306284ab37536862eeeeef8fedb Author: Vadim Zeitlin <vz...@ze...> Date: 2013-12-23 (Mon, 23 Dec 2013) Changed paths: M CHANGES.current M Examples/test-suite/perl5/primitive_types_runme.pl M Examples/test-suite/python/primitive_types_runme.py M Lib/typemaps/strings.swg Log Message: ----------- Don't accept strings too long to fit in char[N] with trailing NUL. It was previously possible to assign "hello" to a variable backed by char[5] storage in C, and the array contained the correct character data but without the trailing NUL, which was unexpected in C. This is not allowed any more, only "helo" can fit into a char[5] now and anything else fails the type check, just as it already happened for the longer strings before. Closes #122 Compare: https://github.com/swig/swig/compare/1a19451c1ba1...cdf1ba912067 |