Revision history for Perl extension D64::Disk::Image.

0.05  2018-12-01
    - fix randomly occurring "panic: XSUB failed to extend arg stack" error by
      properly using "EXTEND" macro to make room on the argument stack for the
      return values before they are pushed onto the stack with the "PUSHs" macro

0.04  2018-11-29
    - properly return an empty list from the following method calls: "read",
      "status", "rawname_from_name", and "name_from_rawname" (remove an invalid
      use of "XSRETURN_UNDEF" macro, which may only be used in a "CODE" block,
      while "PPCODE" implicitly returns an empty list when nothing is pushed on
      stack)

0.03  2018-11-24
    - remove hard-coded file names in tests and replace them with a File::Temp's
      "tmpnam" function call that returns the full name of a temporary file
    - fix XS interface compilation warnings, e.g. "pointer targets in passing
      argument 2 of 'Perl_newSVpv' differ in signedness"

0.02  2013-01-12
    - Fixed "Segmentation fault" exception on OpenBSD and alikes, which was
      originally caused by closing an opened file without having written any
      data into it. Such operation had resulted in creating a new diskfile with
      track and sector values both initialized to $00. When trying to open such
      a saved file in OpenBSD environment by getting a pointer to block data
      (with "get_ts_addr" function) an illegal address had actually been
      retrieved, which was causing "Segmentation fault" exception while
      attempted to be read from. The reason why this bug has manifested itself
      on OpenBSD systems lays in the memory management specifics of OpenBSD.
      Apparently reading from an invalid address on Linux and alikes results in
      retrieving a "(nil)" value, which then gets successfully assigned to a
      char variable. The final fix was very simple and included an attempt to
      write a single byte of data into each file that was opened for writing and
      closed before any actual data has been actually written into it, and thus
      making sure that both track and sector values will get correctly
      initialized on a new disk directory item creation. Of course the ultimate
      fix would be to implement proper file save operation in the "diskimage.c"
      library, however creation of an empty file with no single byte of data is
      not only very unlikely, but also quite useless for any practical purpose
      (since the entire 254-bytes sector will always get allocated anyway).

0.01  2010-10-10
    - initial version (provides Perl interface to Per Olofsson's "diskimage.c",
      supports manipulating Commodore disk images using functions implemented
      in diskimage.c)
