Changes for version 0.10 - 2018-11-26
- For an unknown reason BSD-like systems export some "inline" functions into a target object file but leave symbols undefined, which results in a failure while loading a shared library: "ByteBoozer.so: undefined symbol 'outLen'". This is how it had manifested itself after compiling the package on an OpenBSD system:
- $ nm -g cruncher.o | grep outLen U outLen
- In order to address the problem every "inline" function defined by the cruncher code has been explicitly declared as "static". Static functions leave no trace in a target object file allowing to successfully load a shared library.
- fix XS interface compilation warnings, e.g. "pointer targets in passing argument 2 of 'Perl_newSVpv' differ in signedness"
- fix XS interface compilation warnings, e.g. "warning: unused variable 'RETVAL'" (when using a PPCODE section no manipulation of the RETVAL variable is required, the section may use direct stack manipulation to place output values on the stack)
- commented out two params check tests failing due to Params::Validate's bug report RT#127811: "validate" crashes on a closed IO::Scalar object
Perl interface to David Malmborg's "ByteBoozer", a data cruncher for Commodore files