---------------------------------------------------------------------------
Version 1.0.15 (13-Aug-1999)

Bertho Stultiens <bertho@akhphd.au.dk>
- Bugfix: IDs were not checked which resulted in numbers > 2^16-1 being
  accepted as IDs. This resulted in duplicate IDs and all other sort of
  trouble.

---------------------------------------------------------------------------
Version 1.0.14 (08-Aug-1999)

Bertho Stultiens <bertho@akhphd.au.dk>
- Deeply ashamed that I thought that flex had a bug. Of course my own fault
  not recognizing unmatched text in start condition yyrcd and pp_strip[ps].
  There is a catch all rule now in the flexer with a warning to mark the
  condition and promptly revealed errors in the wine-headers.

---------------------------------------------------------------------------
Version 1.0.13 (08-Aug-1999)

Bertho Stultiens <bertho@akhphd.au.dk>
- Fixed uppercase conversion of titles in dialog controls which was
  introduced with the icon changes.
- Fixed strings longer than 1024 bytes/shorts by autosizing the array. A
  warning is issued whenever more than 64k is allocated.
- Made a workarround for a flex bug where an ECHO put '\\' and '\n'
  characters on the screen.

---------------------------------------------------------------------------
Version 1.0.12 (18-Jul-1999)

Bertho Stultiens <bertho@akhphd.au.dk>
- Generalized the distinction between 2 and 4 byte integers slightly through
  a new parser state. The is now a warning when a 2 byte integer is larger
  than 16 bit (and is truncated).
- Fixed a couple of cosmetic things in the DLGINIT stuff so that dumping of
  this type will work as expected.
- Added generalized language/version/characteristics support to the DLGINIT
  resource type.

Ulrich Czekalla <ulrichc@corel.ca>
- Added support for DLGINIT resource-type.
- Added string continuation and embedded quoting.
- Added numeric IDs for icons in controls.

Eric Pouech <Eric.Pouech@wanadoo.fr>
- Bugfix: Distinguish between 2 and 4 byte integers in RCDATA.

---------------------------------------------------------------------------
Version 1.0.11 (22-Apr-1999)

Bertho Stultiens <bertho@akhphd.au.dk>
- Fixed a counting bug in the win32 count and sort routine.
- Fixed sort order of resources (must be name before ordinal).
- Shuffled a couple of global variables so that built-in dlls now can
  load resources through the proper PE interface.

---------------------------------------------------------------------------
Version 1.0.10 (18-Feb-1999)

Alexandre Julliard <julliard@lrc.epfl.ch>
- Fixed the TIME_LONG ugliness.

David Luyer <luyer@ucs.uwa.edu.au>
- Added string.h include in newstruc.c for compilation on 64bit platforms.
- Added TIME_LONG to support time_t==int in printf formats on alpha
  platforms.

Bertho Stultiens <bertho@akhphd.au.dk>
- Added some more use of TIME_LONG in implicit format used in header-file
  generation.
- Removed the windows.h include and replaced it with wintypes.h in
  wrctypes.h and added winuser.h in two other sources. This cuts compilation
  time by a factor of 2 and final executable size with debug by a factor 2.5.

---------------------------------------------------------------------------
Version 1.0.9 (01-Feb-1999)

Albert den Haan <albertd@corel.ca>:
- Fixed wrong order of res_ico and res_bmp which must be in RT_xxx order.

---------------------------------------------------------------------------
Version 1.0.8 (10-Jan-1999)

Albert den Haan <albertd@corel.ca>:
- Added TOOLBAR support.
- Buffer overflow fix in strncpyWtoA.
- Open embedded files in resource definitions through the include path from
  the commandline.
- Support named icons in dialogs with unquoted names

Bertho Stultiens <bertho@akhphd.au.dk>
- Fixed a major bug in the language propagation in the parser. The parser
  did not copy the current language while binding it to a resource structure
  causing wrong sorting if multiple global languages were in use and was a
  potential segfault because the pointer might not be valid.
- Added language/version/characteristics support for toolbar.
- Moved some defines from wrc.h to wrctypes.h to support in toolbars.
- Removed function stricmp from source and replaced with native function
  strcasecmp.
- Allocate cursor and icon ordinals according to the language of the item to
  decrease the amount of ordinals in use. This reduces the resource
  directory size by reducing the tree size.
- Versions 1.0.5 through 1.0.7 were never commited to cvs but were available
  for download from an alternate site for elf-dll test generation.

---------------------------------------------------------------------------
Version 1.0.7 (19-Dec-1998)
- Changed a couple of labels that are used by dllglue. Also reversed a patch
  that made wrc's generated code dependent on dllglue's code.

---------------------------------------------------------------------------
Version 1.0.6 (12-Dec-1998)
- Fixed the _PEResTab table where incorrect RVA's were put in the table.
  The dllglue should now be merged into wrc for correct labels and the least
  number of loadtime fixups.

---------------------------------------------------------------------------
Version 1.0.5 (12-Dec-1998)
- Fixed an omited .globl statement for dllglue linking.

---------------------------------------------------------------------------
Version 1.0.4 (10-Dec-1998)
- Added a global label for elf-dll linking and a long with the resource
  size and a long with the directory size.
- Killed an annoying warning since version 1.0.0 in parser.y about a
  var being used before init.

---------------------------------------------------------------------------
Version 1.0.3 (02-Nov-1998)
- Bugfix in write_name_str() [writeres.c] where the length byte/word was
  wrongly counted in the length of the string.
  Thanks to Ulrich Weigand <weigand@informatik.uni-erlangen.de>

---------------------------------------------------------------------------
Version 1.0.2 (20-Jun-1998)
- Started this file
- Fixed a bug in filename scanning when they are double quoted. The code now
  is compatible with MS' rc and Borland's brc. There is a compromise in the
  filenames because of case-sensitivity under *nix.
- Backslashes in a filepath are now converted to forward slashes and double
- Fixed a bug in printing the filename if loading of a file should fail.
  backslashes are converted to single forward slash.
- Added -L option to prevent conversion to lower case for embedded filenames
  in resource statements.
- Added language posibilities to icons and cursors so that the current
  language is put into the .res ans .s file.
- Added character position indication of an error.
- Fixed CLASS statement so that it accepts double quoted strings as class
  argument. This seems to be the correct behaviour (see SDK). The unquoted
  class-name is still supported because it seems a reasonable option.
- Fixed accelerators with CONTROL option set so that they generate correct
  code instead of generating an error.
- Added testing for flex version 2.5 or better because wrc needs the
  yy_scan* functions to do preprocessing.

---------------------------------------------------------------------------
Version  1.0.1 (08-Jun-1998)
- Added -A commandline option to generate autoregister code for the winelib
  programs.

---------------------------------------------------------------------------
Version 1.0.0 (28-May-1998)
- Initial release
