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:-).
Warnings are now only generated during parse in pedantic mode.
Renamed it 'winebuild' to avoid possible conflicts.
Cleaned up command-line parsing.
Make it understand -fPIC instead of -pic.
Merged call16.s and call32.s generated files.
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).
- Use output prefix instead of high order functions that, for some
reason, leaks memory. The memory usage of winapi_check is now greatly
reduced. :-)
- Turned on argument kind checking of doubles by default
- 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.
- Better headers and prototype checking
- Prototype checking now called --prototype instead of --headers
- New options --headers-{duplicated,misplaced} for
duplicated/misplaced functions checking of the headers.
- Minor bug fixes.
- 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.
- New options --debug-messages for debug message checking (turned off
by default)
- Do not discard the argument name (use in debug message checking)
- Improved parsing
- Minor bug fixes
Store the export table inside the data section so that sections can be
properly aligned.
Build the relay function table directly in the .spec.c file.
Moved relay debugging functions to relay386.c.
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.
- 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.
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.
- Add new options --all and --none that enable/disables all check
respectively.
- Fixed and improved stub statistics.
- Fixed bug that prevented checking of the first function in the .spec files.
- Partial implementation of a more advanced misplaced function checking.
- Minor fixes.