Set eol-style
Modified: vendor/wine/tools/wrc/current/CHANGES
Modified: vendor/wine/tools/wrc/current/parser.l
Modified: vendor/wine/tools/wrc/current/parser.y
Modified: vendor/wine/tools/wrc/current/wrc.doc
Modified: vendor/wine/tools/wrc/current/wrc.man

Modified: vendor/wine/tools/wrc/current/CHANGES
--- vendor/wine/tools/wrc/current/CHANGES	2005-02-19 22:19:39 UTC (rev 13649)
+++ vendor/wine/tools/wrc/current/CHANGES	2005-02-19 22:21:25 UTC (rev 13650)
@@ -1,336 +1,336 @@
----------------------------------------------------------------------------
-Version 1.1.9 (31-Dec-2000)
-
-Ulrich Weigand <weigand@informatik.uni-erlangen.de>
-- Fixed a byteorder conversion problem with message tables.
-- Carefully read and write (possibly) misaligned data elements
-  to avoid crashes on architectures where this is not allowed.
-
----------------------------------------------------------------------------
-Version 1.1.8 (24-Aug-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Fixed a LALR(2) problem while scanning usertype resources which
-  had identifiers for both name and type.
-
----------------------------------------------------------------------------
-Version 1.1.7 (24-Jul-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Implemented a bug-work-arround for Berkeley yacc (byacc) which
-  does not generate proper default transition rules for non-terminals.
-  See comments in parser.y how the fix works.
-- Changed the error-line/char position to make emacs happy parsing
-  the position of the error.
-- Added comments in the documentation in which order the line-numer
-  and character-position of the error is written.
-
----------------------------------------------------------------------------
-Version 1.1.6 (05-Jun-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Bugfix: Macro expansion of strings would assert an internal error
-  or a segfault due to a lacking '\0' in the expansion.
-- Bugfix: Prevent buffer overflow in reallocation of macro expansion
-  buffers.
-- Bugfix: Wrc's version information was not passed as numerical to the
-  preprocessor due to an error in the definition of the macro.
-- Relaxed the newline constraint in global LANGUAGE statements, which
-  was introduced in version 1.1.3, so that some fancy preprocessor
-  constructs can work.
-- Removed the gcc-style #line handling from the resource-parser to the
-  resource-scanner so that it is possible to include files at any stage
-  of the source, independent of the parser-state.
-- Bugfix: Stringtables were not correctly searched for duplicates
-  because the language comparison disregarded the sublanguage.
-- Eliminated a repetitive warning when writing stringtables with zero
-  length string entries. These are perfectly valid (but make no sense:-).
-  Warning are now only generated during parse in pedantic mode.
-
----------------------------------------------------------------------------
-Version 1.1.5 (12-Jun-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Bugfix: Corrected "off by one" error in the linenumber while parsing
-  resource.
-- Bugfix: A segfault would occur if messagetables were parsed without
-  memory options attached. Also added buffer-overflow safeguard while
-  converting between byteorders.
-- Finished remapping usertype resources onto standars types by tricking
-  the parser into accepting a different token. The remapping can be
-  disabled with a new commandline option '-m'.
-- Resolved some warning about chars used as index on SGI O2 machine
-  (the ctype isXXX() routines are macros there).
-
----------------------------------------------------------------------------
-Version 1.1.4 (07-Jun-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Implemented MESSAGETABLE resource type.
-- Usertype resources that cause a type-clash with defined resources
-  are now detected and a warning is generated. Some types should be
-  rerouted through other code so that they will be (re-)interpreted.
-- Bugfix: Line-continuation in strings in resources include a newline.
-  This `feature' got deleted with the builtin preprocessor, but has been
-  put back into place (see last changes comment from version 1.1.0).
-- Bugfix: The preprocessor now correctly will see "\\\r\n" as a line-
-  continuation.
-- Bugfix: Assemblers on some platforms do not use 16bit quantities
-  for `.word'. This directive is now changed into `.short'.
-- All types that accept inline data definitions (a la RCDATA) now
-  also accept a file specification. This unifies the structure a bit.
-
----------------------------------------------------------------------------
-Version 1.1.3 (21-May-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Implemented animated cursors and icons resource types.
-- Added partial support for font resources (user supplied fontdir is
-  required).
-- All resources with inline data (a la RCDATA) now support language,
-  version and characteristics data.
-- Implemented resource name duplicate checks. It is now an error if
-  two resources of the same type have the same name.
-- Bugfix: Language propagation was not correct when .res files were
-  generated.
-- Bugfix: VERSIONINFO now handles memory options.
-- Bugfix: resource names and the resource type may be equal (e.g. MENU
-  MENU {...}). This support was mistakingly deleted in the upgrade to
-  the builtin preprocessor.
-  The standalone LANGUAGE setting became context sensitive as a consequence
-  of this. Now it *must* end with a newline *after* both expressions and
-  no newlines are allowed within the line (the statement must fit on one
-  line). This is no practical problem though.
-
-Patrik Stridvall <ps@leissner.se>
-- Fixed byte order on Solaris and FreeBSD.
-
----------------------------------------------------------------------------
-Version 1.1.2 (08-May-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Bugfix: Corrected a SEGV in the rawdata handling. Mistakingly took the
-  address of a pointer instead of its value. This probably slipped in
-  during the merge of my tree into the winetree.
-  Lesson learned: always double check.
-- Verified most resources so that win16 compile also generates correct
-  output for reversed endian.
-
----------------------------------------------------------------------------
-Version 1.1.1 (07-May-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Implemented byte-ordering for resources. All resources can be forced
-  to be little-, big- or native endian with command-line option -B.
-- Reading resources from .res-files are only accepted in native byte-
-  ordering so that no additional semantic analysis is required.
-- Resource directory is still written in native-only format, including
-  the strings.
-- Wrc is now installed through the makefile with 'make install' and also
-  uninstalled with 'make uninstall'.
-- Wrote a man-page for better reference. The manpage also gets installed
-  and uninstalled.
-- Cleaned up the namespace a bit by more agressive use of static.
-
----------------------------------------------------------------------------
-Version 1.1.0 (01-May-2000)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Implemented a new preprocessor that is (nearly) ANSI-C compliant. The
-  old parser has been stripped from the old preprocessor-code which 
-  cleaned up both resource-scanner and -parser.
-- Standard defines have been introduced (see README.wrc)
-- Both preprocessor- and resource-scanner have been optimized slightly
-  so that no backing up is required (one char lookahead is enough).
-- Filename-scanning has been cleaned up, though not perfect yet.
-- User-type resources are compatible now.
-- Line-continuation in strings is corrected so that it does not
-  introduce a newline in the output.
-
----------------------------------------------------------------------------
-Version 1.0.18 (28-Dec-1999)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Bugfix: The named resources were not named correctly for indirectly
-  addressable resources, which resulted in an undefined variable. The
-  previous fix was incomplete (I was probably sleeping while I made it).
-
----------------------------------------------------------------------------
-Version 1.0.17 (20-Dec-1999)
-
-Bertho Stultiens <bertho@akhphd.au.dk>
-- Bugfix: Named resources of different types generated the same assembly-
-  label twice, resulting in a compile failure.
-
----------------------------------------------------------------------------
-Version 1.0.16 (6-Nov-1999)
-
-Juergen.Schmied@debitel.net
-- Bugfix: Styles were evaluated as expressions. The NOT in combination
-  with style flags was not overwriting the default styles like WS_VISIBLE.
-  Solved by introducing own rules for parsing styles.
-
----------------------------------------------------------------------------
-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
+---------------------------------------------------------------------------
+Version 1.1.9 (31-Dec-2000)
+
+Ulrich Weigand <weigand@informatik.uni-erlangen.de>
+- Fixed a byteorder conversion problem with message tables.
+- Carefully read and write (possibly) misaligned data elements
+  to avoid crashes on architectures where this is not allowed.
+
+---------------------------------------------------------------------------
+Version 1.1.8 (24-Aug-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Fixed a LALR(2) problem while scanning usertype resources which
+  had identifiers for both name and type.
+
+---------------------------------------------------------------------------
+Version 1.1.7 (24-Jul-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Implemented a bug-work-arround for Berkeley yacc (byacc) which
+  does not generate proper default transition rules for non-terminals.
+  See comments in parser.y how the fix works.
+- Changed the error-line/char position to make emacs happy parsing
+  the position of the error.
+- Added comments in the documentation in which order the line-numer
+  and character-position of the error is written.
+
+---------------------------------------------------------------------------
+Version 1.1.6 (05-Jun-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Bugfix: Macro expansion of strings would assert an internal error
+  or a segfault due to a lacking '\0' in the expansion.
+- Bugfix: Prevent buffer overflow in reallocation of macro expansion
+  buffers.
+- Bugfix: Wrc's version information was not passed as numerical to the
+  preprocessor due to an error in the definition of the macro.
+- Relaxed the newline constraint in global LANGUAGE statements, which
+  was introduced in version 1.1.3, so that some fancy preprocessor
+  constructs can work.
+- Removed the gcc-style #line handling from the resource-parser to the
+  resource-scanner so that it is possible to include files at any stage
+  of the source, independent of the parser-state.
+- Bugfix: Stringtables were not correctly searched for duplicates
+  because the language comparison disregarded the sublanguage.
+- Eliminated a repetitive warning when writing stringtables with zero
+  length string entries. These are perfectly valid (but make no sense:-).
+  Warning are now only generated during parse in pedantic mode.
+
+---------------------------------------------------------------------------
+Version 1.1.5 (12-Jun-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Bugfix: Corrected "off by one" error in the linenumber while parsing
+  resource.
+- Bugfix: A segfault would occur if messagetables were parsed without
+  memory options attached. Also added buffer-overflow safeguard while
+  converting between byteorders.
+- Finished remapping usertype resources onto standars types by tricking
+  the parser into accepting a different token. The remapping can be
+  disabled with a new commandline option '-m'.
+- Resolved some warning about chars used as index on SGI O2 machine
+  (the ctype isXXX() routines are macros there).
+
+---------------------------------------------------------------------------
+Version 1.1.4 (07-Jun-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Implemented MESSAGETABLE resource type.
+- Usertype resources that cause a type-clash with defined resources
+  are now detected and a warning is generated. Some types should be
+  rerouted through other code so that they will be (re-)interpreted.
+- Bugfix: Line-continuation in strings in resources include a newline.
+  This `feature' got deleted with the builtin preprocessor, but has been
+  put back into place (see last changes comment from version 1.1.0).
+- Bugfix: The preprocessor now correctly will see "\\\r\n" as a line-
+  continuation.
+- Bugfix: Assemblers on some platforms do not use 16bit quantities
+  for `.word'. This directive is now changed into `.short'.
+- All types that accept inline data definitions (a la RCDATA) now
+  also accept a file specification. This unifies the structure a bit.
+
+---------------------------------------------------------------------------
+Version 1.1.3 (21-May-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Implemented animated cursors and icons resource types.
+- Added partial support for font resources (user supplied fontdir is
+  required).
+- All resources with inline data (a la RCDATA) now support language,
+  version and characteristics data.
+- Implemented resource name duplicate checks. It is now an error if
+  two resources of the same type have the same name.
+- Bugfix: Language propagation was not correct when .res files were
+  generated.
+- Bugfix: VERSIONINFO now handles memory options.
+- Bugfix: resource names and the resource type may be equal (e.g. MENU
+  MENU {...}). This support was mistakingly deleted in the upgrade to
+  the builtin preprocessor.
+  The standalone LANGUAGE setting became context sensitive as a consequence
+  of this. Now it *must* end with a newline *after* both expressions and
+  no newlines are allowed within the line (the statement must fit on one
+  line). This is no practical problem though.
+
+Patrik Stridvall <ps@leissner.se>
+- Fixed byte order on Solaris and FreeBSD.
+
+---------------------------------------------------------------------------
+Version 1.1.2 (08-May-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Bugfix: Corrected a SEGV in the rawdata handling. Mistakingly took the
+  address of a pointer instead of its value. This probably slipped in
+  during the merge of my tree into the winetree.
+  Lesson learned: always double check.
+- Verified most resources so that win16 compile also generates correct
+  output for reversed endian.
+
+---------------------------------------------------------------------------
+Version 1.1.1 (07-May-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Implemented byte-ordering for resources. All resources can be forced
+  to be little-, big- or native endian with command-line option -B.
+- Reading resources from .res-files are only accepted in native byte-
+  ordering so that no additional semantic analysis is required.
+- Resource directory is still written in native-only format, including
+  the strings.
+- Wrc is now installed through the makefile with 'make install' and also
+  uninstalled with 'make uninstall'.
+- Wrote a man-page for better reference. The manpage also gets installed
+  and uninstalled.
+- Cleaned up the namespace a bit by more agressive use of static.
+
+---------------------------------------------------------------------------
+Version 1.1.0 (01-May-2000)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Implemented a new preprocessor that is (nearly) ANSI-C compliant. The
+  old parser has been stripped from the old preprocessor-code which 
+  cleaned up both resource-scanner and -parser.
+- Standard defines have been introduced (see README.wrc)
+- Both preprocessor- and resource-scanner have been optimized slightly
+  so that no backing up is required (one char lookahead is enough).
+- Filename-scanning has been cleaned up, though not perfect yet.
+- User-type resources are compatible now.
+- Line-continuation in strings is corrected so that it does not
+  introduce a newline in the output.
+
+---------------------------------------------------------------------------
+Version 1.0.18 (28-Dec-1999)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Bugfix: The named resources were not named correctly for indirectly
+  addressable resources, which resulted in an undefined variable. The
+  previous fix was incomplete (I was probably sleeping while I made it).
+
+---------------------------------------------------------------------------
+Version 1.0.17 (20-Dec-1999)
+
+Bertho Stultiens <bertho@akhphd.au.dk>
+- Bugfix: Named resources of different types generated the same assembly-
+  label twice, resulting in a compile failure.
+
+---------------------------------------------------------------------------
+Version 1.0.16 (6-Nov-1999)
+
+Juergen.Schmied@debitel.net
+- Bugfix: Styles were evaluated as expressions. The NOT in combination
+  with style flags was not overwriting the default styles like WS_VISIBLE.
+  Solved by introducing own rules for parsing styles.
+
+---------------------------------------------------------------------------
+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
Property changes on: vendor/wine/tools/wrc/current/CHANGES
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: vendor/wine/tools/wrc/current/parser.l
--- vendor/wine/tools/wrc/current/parser.l	2005-02-19 22:19:39 UTC (rev 13649)
+++ vendor/wine/tools/wrc/current/parser.l	2005-02-19 22:21:25 UTC (rev 13650)
@@ -1,682 +1,682 @@
-/* -*-C-*-
- *
- * Copyright 1998-2000	Bertho A. Stultiens (BS)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * History:
- * 21-May-2000 BS	- Fixed the ident requirement of resource names
- *			  which can be keywords.
- * 30-Apr-2000 BS	- Reintegration into the wine-tree
- * 11-Jan-2000 BS	- Very drastic cleanup because we don't have a
- *			  preprocessor in here anymore.
- * 02-Jan-2000 BS	- Removed the preprocessor code
- * 23-Dec-1999 BS	- Removed the copyright for Martin von Loewis.
- *			  There is really nothing left of his code in
- *			  this parser.
- * 20-Jun-1998 BS	- Changed the filename conversion. Filenames are
- *			  case-sensitive inder *nix, but not under dos.
- *			  default behaviour is to convert to lower case.
- *			- All backslashes are converted to forward and
- *			  both single and double slash is recognized as
- *			  MS/Borland does.
- *			- Fixed a bug in 'yywf' case that prevented
- *			  double quoted names to be scanned propperly.
- *
- * 19-May-1998 BS	- Started to build a preprocessor.
- *			- Changed keyword processing completely to
- *			  table-lookups.
- *
- * 20-Apr-1998 BS	- Added ';' comment stripping
- *
- * 17-Apr-1998 BS	- Made the win32 keywords optional when compiling in
- *			  16bit mode
- *
- * 15-Apr-1998 BS	- Changed string handling to include escapes
- *			- Added unicode string handling (no codepage
- *			  translation though).
- *			- 'Borrowed' the main idea of string scanning from
- *			  the flex manual pages.
- *			- Added conditional handling of scanning depending
- *			  on the state of the parser. This was mainly required
- *			  to distinguish a file to load or raw data that
- *			  follows. MS's definition of filenames is rather
- *			  complex... It can be unquoted or double quoted. If
- *			  double quoted, then the '\\' char is not automatically
- *			  escaped according to Borland's rc compiler, but it
- *			  accepts both "\\path\\file.rc" and "\path\file.rc".
- *			  This makes life very hard! I go for the escaped
- *			  version, as this seems to be the documented way...
- *			- Single quoted strings are now parsed and converted
- *			  here.
- *			- Added comment stripping. The implementation is
- *			  'borrowed' from the flex manpages.
- *			- Rebuild string processing so that it may contain
- *			  escaped '\0'.
- */
-
-/* Exclusive string handling */
-%x yystr
-/* Exclusive unicode string handling */
-%x yylstr
-/* Exclusive rcdata single quoted data handling */
-%x yyrcd
-/* Exclusive comment eating... */
-%x comment
-/* Set when stripping c-junk */
-%x pp_stripe
-%x pp_strips
-%x pp_stripp
-%x pp_stripp_final
-/* Set when scanning #line style directives */
-%x pp_line
-/* Set when scanning #pragma */
-%x pp_pragma
-%x pp_code_page
-
-%option stack
-%option never-interactive
-
-/* Some shortcut definitions */
-ws	[ \f\t\r]
-cident	[a-zA-Z_][0-9a-zA-Z_]*
-
-%{
-
-/*#define LEX_DEBUG*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <assert.h>
-
-#include "wine/unicode.h"
-#include "wrc.h"
-#include "utils.h"
-#include "parser.h"
-#include "newstruc.h"
-
-#include "y.tab.h"
-
-#define YY_USE_PROTOS
-#define YY_NO_UNPUT
-#define YY_NO_TOP_STATE
-
-/* Always update the current character position within a line */
-#define YY_USER_ACTION	char_number+=yyleng; wanted_id = want_id; want_id = 0;
-
-static void addcchar(char c);
-static void addwchar(WCHAR s);
-static string_t *get_buffered_cstring(void);
-static string_t *get_buffered_wstring(void);
-static string_t *make_string(char *s);
-
-static char *cbuffer;		/* Buffers for string collection */
-static int cbufidx;
-static int cbufalloc = 0;
-static WCHAR *wbuffer;
-static int wbufidx;
-static int wbufalloc = 0;
-static int stripslevel = 0;	/* Count {} during pp_strips/pp_stripe mode */
-static int stripplevel = 0;	/* Count () during pp_strips mode */
-static int cjunk_tagline;	/* Where did we start stripping (helps error tracking) */
-
-static int current_codepage = -1;  /* use language default */
-
-/*
- * This one is a bit tricky.
- * We set 'want_id' in the parser to get the first
- * identifier we get across in the scanner, but we
- * also want it to be reset at nearly any token we
- * see. Exceptions are:
- * - newlines
- * - comments
- * - whitespace
- *
- * The scanner will automatically reset 'want_id'
- * after *each* scanner reduction and puts is value
- * into the var below. In this way we can see the
- * state after the YY_RULE_SETUP (i.e. the user action;
- * see above) and don't have to worry too much when
- * it needs to be reset.
- */
-static int wanted_id = 0;
-static int save_wanted_id;	/* To save across comment reductions */
-
-struct keyword {
-	const char	*keyword;
-	int		token;
-	int		isextension;
-	int		needcase;
-	int		alwayskw;
-};
-
-static struct keyword keywords[] = {
-	{ "ACCELERATORS",	tACCELERATORS,		0, 0, 0},
-	{ "ALT",		tALT,			0, 0, 0},
-	{ "ASCII",		tASCII,			0, 0, 0},
-	{ "AUTO3STATE",		tAUTO3STATE,		1, 0, 0},
-	{ "AUTOCHECKBOX",	tAUTOCHECKBOX,		1, 0, 0},
-	{ "AUTORADIOBUTTON",	tAUTORADIOBUTTON,	1, 0, 0},
-	{ "BEGIN",		tBEGIN,			0, 0, 0},
-	{ "BITMAP",		tBITMAP,		0, 0, 0},
-	{ "BLOCK",		tBLOCK,			0, 0, 0},
-	{ "BUTTON",		tBUTTON,		1, 0, 0},
-	{ "CAPTION",		tCAPTION,		0, 0, 0},
-	{ "CHARACTERISTICS",	tCHARACTERISTICS,	1, 0, 0},
-	{ "CHECKBOX",		tCHECKBOX,		0, 0, 0},
-	{ "CHECKED",		tCHECKED,		0, 0, 0},
-	{ "CLASS",		tCLASS,			0, 0, 0},
-	{ "COMBOBOX",		tCOMBOBOX,		0, 0, 0},
-	{ "CONTROL",		tCONTROL,		0, 0, 0},
-	{ "CTEXT",		tCTEXT,			0, 0, 0},
-	{ "CURSOR",		tCURSOR,		0, 0, 0},
-	{ "DEFPUSHBUTTON",	tDEFPUSHBUTTON,		0, 0, 0},
-	{ "DIALOG",		tDIALOG,		0, 0, 0},
-	{ "DIALOGEX",		tDIALOGEX,		1, 0, 0},
-	{ "DISCARDABLE",	tDISCARDABLE,		0, 0, 0},
-	{ "DLGINIT",		tDLGINIT,		0, 0, 0},
-	{ "EDITTEXT",		tEDITTEXT,		0, 0, 0},
-	{ "END",		tEND,			0, 0, 0},
-	{ "EXSTYLE",		tEXSTYLE,		0, 0, 0},
-	{ "FILEFLAGS",		tFILEFLAGS,		0, 0, 0},
-	{ "FILEFLAGSMASK",	tFILEFLAGSMASK,		0, 0, 0},
-	{ "FILEOS",		tFILEOS,		0, 0, 0},
-	{ "FILESUBTYPE",	tFILESUBTYPE,		0, 0, 0},
-	{ "FILETYPE",		tFILETYPE,		0, 0, 0},
-	{ "FILEVERSION",	tFILEVERSION,		0, 0, 0},
-	{ "FIXED",		tFIXED,			0, 0, 0},
-	{ "FONT",		tFONT,			0, 0, 0},
-	{ "FONTDIR",		tFONTDIR,		0, 0, 0},	/* This is a Borland BRC extension */
-	{ "GRAYED",		tGRAYED,		0, 0, 0},
-	{ "GROUPBOX",		tGROUPBOX,		0, 0, 0},
-	{ "HELP",		tHELP,			0, 0, 0},
-	{ "ICON",		tICON,			0, 0, 0},
-	{ "IMPURE",		tIMPURE,		0, 0, 0},
-	{ "INACTIVE",		tINACTIVE,		0, 0, 0},
-	{ "LANGUAGE",		tLANGUAGE,		1, 0, 1},
-	{ "LISTBOX",		tLISTBOX,		0, 0, 0},
-	{ "LOADONCALL",		tLOADONCALL,		0, 0, 0},
-	{ "LTEXT",		tLTEXT,			0, 0, 0},
-	{ "MENU",		tMENU,			0, 0, 0},
-	{ "MENUBARBREAK",	tMENUBARBREAK,		0, 0, 0},
-	{ "MENUBREAK",		tMENUBREAK,		0, 0, 0},
-	{ "MENUEX",		tMENUEX,		1, 0, 0},
-	{ "MENUITEM",		tMENUITEM,		0, 0, 0},
-	{ "MESSAGETABLE",	tMESSAGETABLE,		1, 0, 0},
-	{ "MOVEABLE",		tMOVEABLE,		0, 0, 0},
-	{ "NOINVERT",		tNOINVERT,		0, 0, 0},
-	{ "NOT",		tNOT,			0, 0, 0},
-	{ "POPUP",		tPOPUP,			0, 0, 0},
-	{ "PRELOAD",		tPRELOAD,		0, 0, 0},
-	{ "PRODUCTVERSION",	tPRODUCTVERSION,	0, 0, 0},
-	{ "PURE",		tPURE,			0, 0, 0},
-	{ "PUSHBUTTON",		tPUSHBUTTON,		0, 0, 0},
-	{ "RADIOBUTTON",	tRADIOBUTTON,		0, 0, 0},
-	{ "RCDATA",		tRCDATA,		0, 0, 0},
-	{ "RTEXT",		tRTEXT,			0, 0, 0},
-	{ "SCROLLBAR",		tSCROLLBAR,		0, 0, 0},
-	{ "SEPARATOR",		tSEPARATOR,		0, 0, 0},
-	{ "SHIFT",		tSHIFT,			0, 0, 0},
-	{ "STATE3",		tSTATE3,		1, 0, 0},
-	{ "STRING",		tSTRING,		0, 0, 0},
-	{ "STRINGTABLE",	tSTRINGTABLE,		0, 0, 1},
-	{ "STYLE",		tSTYLE,			0, 0, 0},
-	{ "TOOLBAR",		tTOOLBAR,		1, 0, 0},
-	{ "VALUE",		tVALUE,			0, 0, 0},
-	{ "VERSION",		tVERSION,		1, 0, 0},
-	{ "VERSIONINFO",	tVERSIONINFO,		0, 0, 0},
-	{ "VIRTKEY",		tVIRTKEY,		0, 0, 0}
-};
-
-#define NKEYWORDS	(sizeof(keywords)/sizeof(keywords[0]))
-#define KWP(p)		((const struct keyword *)(p))
-static int kw_cmp_func(const void *s1, const void *s2)
-{
-	int ret;
-	ret = strcasecmp(KWP(s1)->keyword, KWP(s2)->keyword);
-	if(!ret && (KWP(s1)->needcase || KWP(s2)->needcase))
-		return strcmp(KWP(s1)->keyword, KWP(s2)->keyword);
-	else
-		return ret;
-}
-
-#define KW_BSEARCH
-#define DO_SORT
-static struct keyword *iskeyword(char *kw)
-{
-	struct keyword *kwp;
-	struct keyword key;
-	key.keyword = kw;
-	key.needcase = 0;
-#ifdef DO_SORT
-	{
-		/* Make sure that it is sorted for bsearsh */
-		static int sorted = 0;
-		if(!sorted)
-		{
-			qsort(keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
-			sorted = 1;
-		}
-	}
-#endif
-#ifdef KW_BSEARCH
-	kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
-#else
-	{
-		int i;
-		for(i = 0; i < NKEYWORDS; i++)
-		{
-			if(!kw_cmp_func(&key, &keywords[i]))
-				break;
-		}
-		if(i < NKEYWORDS)
-			kwp = &keywords[i];
-		else
-			kwp = NULL;
-	}
-#endif
-
-	if(kwp == NULL || (kwp->isextension && !extensions))
-		return NULL;
-	else
-		return kwp;
-}
-
-%}
-
-/*
- **************************************************************************
- * The flexer starts here
- **************************************************************************
- */
-%%
-	/*
-	 * Catch the GCC-style line statements here and parse them.
-	 * This has the advantage that you can #include at any
-	 * stage in the resource file.
-	 * The preprocessor generates line directives in the format:
-	 * # <linenum> "filename" <codes>
-	 *
-	 * Codes can be a sequence of:
[truncated at 1000 lines; 7881 more skipped]