The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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