Changes for version 0.13
- changed behaviour of member method in list context
- o doesn't return the member's type any longer
- o returns all matching members instead, if multiple members match the given offset
- o this change is NOT backward compatible
- o to get the old behaviour, turn
- ($member, $typeof) = $c->member( $type, $offset );
- into
- $member = $c->member( $type, $offset ); $typeof = $c->typeof( $type.$member );
- fixed lots of memory leaks resulting from using sv_dec() where SvREFCNT_dec() should have been used instead
- fixed memory leak when object construction fails
- fixed sourcify for enums in special cases
- fixed segfault in debugging mode
- removed lots of limitations and fixed lots of bugs when dealing with member expressions
- changed module/ccconfig versioning; now
- $Convert::Binary::C::VERSION $Convert::Binary::C::Cached::VERSION
- as well as the version of ccconfig are all set to the version of the distribution to avoid confusion
- added new typeof method
- added dwimmy handling of offset suffixes
- added basic type support for many methods
- allowed basic types to be used without parsing any code
- allowed enum/struct/union prefixes for enum, compound, struct and union methods
- improved performance when using a threaded perl binary by about 20%; performance is now only 5% worse than with a non-threaded binary
- added new "understanding types" section to documentation
- fixed some inconsistencies in documentation
- added some new warnings
- added lots of new tests, some based on coverage analysis using gcov
- fixed some tests that could fail due to random binary input when (un)packing floating point values
- used ppport.h for compatibility
- added check for unsupported perl binary configuration with usemymalloc=y _and_ threads
- lots of code cleanups
Documentation
Get Convert::Binary::C configuration for a compiler
Modules
Binary Data Conversion using C Types
Caching for Convert::Binary::C