   _        ___  ____ ____  ____          __
  |_|_ _   / _ \/ ___/ ___||  _ \    ___ / _| __ _
  _|_||_| | | | \___ \___ \| |_) |  / __| |_ / _` |
 |_||_|_| | |_| |___) |__) |  __/  | (__|  _| (_| |
  |_|_|_|  \___/|____/____/|_|      \___|_|  \__, |
                                             |___/
  OSSP cfg - Configuration Parsing

  CHANGELOG

  Changes between 0.9.10 and 0.9.11 (03-Oct-2005 to 10-Aug-2006):

   *) Replace "return 0" with the official "yyterminate()"
      in cfg_syn_scan.l and fix quotation parsing by replacing
      two "yytext[1]" with the intended "yytext[0]".
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Upgraded build environment to GNU libtool 1.5.22,
      GNU shtool 2.0.6 and GNU autoconf 2.60
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.9 and 0.9.10 (18-Feb-2005 to 03-Oct-2005):

   *) Upgraded build environment to GNU libtool 1.5.20
      and GNU shtool 2.0.3
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.8 and 0.9.9 (24-Jan-2005 to 18-Feb-2005):

   *) Add Autoconf checks for isnan() and isinf() for cfg_fmt.c
      [Thomas Lotterer <thomas@lotterer.net>]

   *) Resolve conflict on symbol "trunc" with <math.h>.
      [Thomas Lotterer <thomas@lotterer.net>]

   *) Upgraded build environment to GNU libtool 1.5.14
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Revert recently made change "fix va_list variable passing in
      cfg_fmt functions" by using a double-cast which is evil but keeps
      the correct semantics.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Plug a memory leak in cfg_fmt.c's cfg_fmt_vasprintf()
      in case a formatting error occurs.
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.7 and 0.9.8 (19-Dec-2004 to 24-Jan-2005):

   *) Remove debugging fprintf's from (still broken) cfg_node_select() function.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Fix va_list variable passing in cfg_fmt functions.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Add Autoconf support for va_copy() detection.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Accept new GNU Bison 2.0 as parser generator.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Adjust copyright messages for new year 2005.
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.6 and 0.9.7 (04-Dec-2004 to 19-Dec-2004):

   *) Fixed cfg_node_get() function after recent introduction
      of LOAN/GIFT/COPY  argument passing semantics. This
      unbreaks the Perl API's unpack() function.
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.5 and 0.9.6 (27-Nov-2004 to 04-Dec-2004):

   *) Plug remaining memory leaks by introducing the usual
      LOAN/GIFT/COPY argument passing semantics to cfg_node_{set,get}
      and using this to directly pass the allocated tokens from the
      scanner through the parser into the node tree.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Fix optional DMalloc build support.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Replace fixed-size token buffer in scanner by a dynamic
      buffer (cfg_buf_t). This eliminates the old 1024 size limit
      on tokens and makes the scanner more robust.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Fix annotational error reporting in scanner/parser.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Escape non-printable characters of input extracts in error messages.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Cleanup and extend buffer handling sub-library (cfg_buf.[ch])
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.4 and 0.9.5 (31-Oct-2004 to 27-Nov-2004):

   *) Add OSSP:::cfg::simple Perl convenience API which is an
      ultra high-level API allowing especially the bi-directional
      conversion between the C API node tree representation and a
      simplified Perl data structure representation.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Change cfg_node_root() API function to be able to both
      set and/or get the root node.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Fixed cfg_test program by correctly passing the used number of
      bytes in the buffer instead of the size of the buffer.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Accept zero-length strings for parsing. Correctly handle
      end-of-file during plain text token scanning.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Do not let Flex generate the unused yyunput() and yy_top_state()
      functions in order to shut up compilation warnings.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Return an empty string instead of NULL from internal
      cfg_buf_content() function to not make visible to the caller the
      implementation special case of an initial buffer.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Added initial cut for Perl bindings.
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.3 and 0.9.4 (23-Apr-2003 to 31-Oct-2004):

   *) Upgrade to GNU bison 1.875d and GNU flex 2.5.31
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Fixed warnings under GCC 3.4/3.5.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Adjust copyright messages for new year 2004.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Upgraded build environment to GNU libtool 1.5.10
      and GNU shtool 2.0.1
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.2 and 0.9.3 (10-Nov-2003 to 23-Apr-2004):

   *) Import change introduced in OSSP l2 0.9.7:
      Replace modf(3) calls in cfg_fmt.c with a hand-crafted
      inlined cfg_fmt_modf() function to avoid dependency to external
      libm on systems where modf(3) is not part of libc, i.e. Tru64 and
      QNX. Reported by Karl Vogel.
      [Thomas Lotterer <thomas@lotterer.net>]

  Changes between 0.9.1 and 0.9.2 (10-Nov-2003 to 10-Nov-2003)

   *) Upgraded build environment to GNU libtool 1.5 and
      GNU autoconf 2.58.
      [Ralf S. Engelschall <rse@engelschall.com>]

  Changes between 0.9.0 and 0.9.1 (01-Jul-2002 to 10-Nov-2003)

   *) Added Bison-locations option to scanner, fixing the missing
      reentrant "yylloc" with flex 2.5.31. Taken over from OSSP l2.
      [Thomas Lotterer <thomas@lotterer.net>]

   *) Enhanced test suite by comparing against previously saved output
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Switch from text-based VERSION file to C-based cfg_vers.c
      and use this to provide a cfg_version(3) API function.
      [Ralf S. Engelschall <rse@engelschall.com>]

   *) Source tree cleanups.
      [Ralf S. Engelschall <rse@engelschall.com>]

