- Bugfix: Macro expansion of strings would assert an internal error
[wine.git] / tools / wrc / CHANGES
blobe0f4bbbc2e303940fb5c30c8a4cdc1c07fb9b47e
1 ---------------------------------------------------------------------------
2 Version 1.1.6 (05-Jun-2000)
4 Bertho Stultiens <bertho@akhphd.au.dk>
5 - Bugfix: Macro expansion of strings would assert an internal error
6   or a segfault due to a lacking '\0' in the expansion.
7 - Bugfix: Prevent buffer overflow in reallocation of macro expansion
8   buffers.
9 - Bugfix: Wrc's version information was not passed as numerical to the
10   preprocessor due to an error in the definition of the macro.
11 - Relaxed the newline constraint in global LANGUAGE statements, which
12   was introduced in version 1.1.3, so that some fancy preprocessor
13   constructs can work.
14 - Removed the gcc-style #line handling from the resource-parser to the
15   resource-scanner so that it is possible to include files at any stage
16   of the source, independent of the parser-state.
17 - Bugfix: Stringtables were not correctly searched for duplicates
18   because the language comparison disregarded the sublanguage.
19 - Eliminated a repetitive warning when writing stringtables with zero
20   length string entries. These are perfectly valid (but make no sense:-).
21   Warning are now only generated during parse in pedantic mode.
23 ---------------------------------------------------------------------------
24 Version 1.1.5 (12-Jun-2000)
26 Bertho Stultiens <bertho@akhphd.au.dk>
27 - Bugfix: Corrected "off by one" error in the linenumber while parsing
28   resource.
29 - Bugfix: A segfault would occur if messagetables were parsed without
30   memory options attached. Also added buffer-overflow safeguard while
31   converting between byteorders.
32 - Finished remapping usertype resources onto standars types by tricking
33   the parser into accepting a different token. The remapping can be
34   disabled with a new commandline option '-m'.
35 - Resolved some warning about chars used as index on SGI O2 machine
36   (the ctype isXXX() routines are macros there).
38 ---------------------------------------------------------------------------
39 Version 1.1.4 (07-Jun-2000)
41 Bertho Stultiens <bertho@akhphd.au.dk>
42 - Implemented MESSAGETABLE resource type.
43 - Usertype resources that cause a type-clash with defined resources
44   are now detected and a warning is generated. Some types should be
45   rerouted through other code so that they will be (re-)interpreted.
46 - Bugfix: Line-continuation in strings in resources include a newline.
47   This `feature' got deleted with the builtin preprocessor, but has been
48   put back into place (see last changes comment from version 1.1.0).
49 - Bugfix: The preprocessor now correctly will see "\\\r\n" as a line-
50   continuation.
51 - Bugfix: Assemblers on some platforms do not use 16bit quantities
52   for `.word'. This directive is now changed into `.short'.
53 - All types that accept inline data definitions (a la RCDATA) now
54   also accept a file specification. This unifies the structure a bit.
56 ---------------------------------------------------------------------------
57 Version 1.1.3 (21-May-2000)
59 Bertho Stultiens <bertho@akhphd.au.dk>
60 - Implemented animated cursors and icons resource types.
61 - Added partial support for font resources (user supplied fontdir is
62   required).
63 - All resources with inline data (a la RCDATA) now support language,
64   version and characteristics data.
65 - Implemented resource name duplicate checks. It is now an error if
66   two resources of the same type have the same name.
67 - Bugfix: Language propagation was not correct when .res files were
68   generated.
69 - Bugfix: VERSIONINFO now handles memory options.
70 - Bugfix: resource names and the resource type may be equal (e.g. MENU
71   MENU {...}). This support was mistakingly deleted in the upgrade to
72   the builtin preprocessor.
73   The standalone LANGUAGE setting became context sensitive as a consequence
74   of this. Now it *must* end with a newline *after* both expressions and
75   no newlines are allowed within the line (the statement must fit on one
76   line). This is no practical problem though.
78 Patrik Stridvall <ps@leissner.se>
79 - Fixed byte order on Solaris and FreeBSD.
81 ---------------------------------------------------------------------------
82 Version 1.1.2 (08-May-2000)
84 Bertho Stultiens <bertho@akhphd.au.dk>
85 - Bugfix: Corrected a SEGV in the rawdata handling. Mistakingly took the
86   address of a pointer instead of its value. This probably slipped in
87   during the merge of my tree into the winetree.
88   Lesson learned: always double check.
89 - Verified most resources so that win16 compile also generates correct
90   output for reversed endian.
92 ---------------------------------------------------------------------------
93 Version 1.1.1 (07-May-2000)
95 Bertho Stultiens <bertho@akhphd.au.dk>
96 - Implemented byte-ordering for resources. All resources can be forced
97   to be little-, big- or native endian with command-line option -B.
98 - Reading resources from .res-files are only accepted in native byte-
99   ordering so that no additional semantic analysis is required.
100 - Resource directory is still written in native-only format, including
101   the strings.
102 - Wrc is now installed through the makefile with 'make install' and also
103   uninstalled with 'make uninstall'.
104 - Wrote a man-page for better reference. The manpage also gets installed
105   and uninstalled.
106 - Cleaned up the namespace a bit by more agressive use of static.
108 ---------------------------------------------------------------------------
109 Version 1.1.0 (01-May-2000)
111 Bertho Stultiens <bertho@akhphd.au.dk>
112 - Implemented a new preprocessor that is (nearly) ANSI-C compliant. The
113   old parser has been stripped from the old preprocessor-code which 
114   cleaned up both resource-scanner and -parser.
115 - Standard defines have been introduced (see README.wrc)
116 - Both preprocessor- and resource-scanner have been optimized slightly
117   so that no backing up is required (one char lookahead is enough).
118 - Filename-scanning has been cleaned up, though not perfect yet.
119 - User-type resources are compatible now.
120 - Line-continuation in strings is corrected so that it does not
121   introduce a newline in the output.
123 ---------------------------------------------------------------------------
124 Version 1.0.18 (28-Dec-1999)
126 Bertho Stultiens <bertho@akhphd.au.dk>
127 - Bugfix: The named resources were not named correctly for indirectly
128   addressable resources, which resulted in an undefined variable. The
129   previous fix was incomplete (I was probably sleeping while I made it).
131 ---------------------------------------------------------------------------
132 Version 1.0.17 (20-Dec-1999)
134 Bertho Stultiens <bertho@akhphd.au.dk>
135 - Bugfix: Named resources of different types generated the same assembly-
136   label twice, resulting in a compile failure.
138 ---------------------------------------------------------------------------
139 Version 1.0.16 (6-Nov-1999)
141 Juergen.Schmied@debitel.net
142 - Bugfix: Styles were evaluated as expressions. The NOT in combination
143   with style flags was not overwriting the default styles like WS_VISIBLE.
144   Solved by introducing own rules for parsing styles.
146 ---------------------------------------------------------------------------
147 Version 1.0.15 (13-Aug-1999)
149 Bertho Stultiens <bertho@akhphd.au.dk>
150 - Bugfix: IDs were not checked which resulted in numbers > 2^16-1 being
151   accepted as IDs. This resulted in duplicate IDs and all other sort of
152   trouble.
154 ---------------------------------------------------------------------------
155 Version 1.0.14 (08-Aug-1999)
157 Bertho Stultiens <bertho@akhphd.au.dk>
158 - Deeply ashamed that I thought that flex had a bug. Of course my own fault
159   not recognizing unmatched text in start condition yyrcd and pp_strip[ps].
160   There is a catch all rule now in the flexer with a warning to mark the
161   condition and promptly revealed errors in the wine-headers.
163 ---------------------------------------------------------------------------
164 Version 1.0.13 (08-Aug-1999)
166 Bertho Stultiens <bertho@akhphd.au.dk>
167 - Fixed uppercase conversion of titles in dialog controls which was
168   introduced with the icon changes.
169 - Fixed strings longer than 1024 bytes/shorts by autosizing the array. A
170   warning is issued whenever more than 64k is allocated.
171 - Made a workarround for a flex bug where an ECHO put '\\' and '\n'
172   characters on the screen.
174 ---------------------------------------------------------------------------
175 Version 1.0.12 (18-Jul-1999)
177 Bertho Stultiens <bertho@akhphd.au.dk>
178 - Generalized the distinction between 2 and 4 byte integers slightly through
179   a new parser state. The is now a warning when a 2 byte integer is larger
180   than 16 bit (and is truncated).
181 - Fixed a couple of cosmetic things in the DLGINIT stuff so that dumping of
182   this type will work as expected.
183 - Added generalized language/version/characteristics support to the DLGINIT
184   resource type.
186 Ulrich Czekalla <ulrichc@corel.ca>
187 - Added support for DLGINIT resource-type.
188 - Added string continuation and embedded quoting.
189 - Added numeric IDs for icons in controls.
191 Eric Pouech <Eric.Pouech@wanadoo.fr>
192 - Bugfix: Distinguish between 2 and 4 byte integers in RCDATA.
194 ---------------------------------------------------------------------------
195 Version 1.0.11 (22-Apr-1999)
197 Bertho Stultiens <bertho@akhphd.au.dk>
198 - Fixed a counting bug in the win32 count and sort routine.
199 - Fixed sort order of resources (must be name before ordinal).
200 - Shuffled a couple of global variables so that built-in dlls now can
201   load resources through the proper PE interface.
203 ---------------------------------------------------------------------------
204 Version 1.0.10 (18-Feb-1999)
206 Alexandre Julliard <julliard@lrc.epfl.ch>
207 - Fixed the TIME_LONG ugliness.
209 David Luyer <luyer@ucs.uwa.edu.au>
210 - Added string.h include in newstruc.c for compilation on 64bit platforms.
211 - Added TIME_LONG to support time_t==int in printf formats on alpha
212   platforms.
214 Bertho Stultiens <bertho@akhphd.au.dk>
215 - Added some more use of TIME_LONG in implicit format used in header-file
216   generation.
217 - Removed the windows.h include and replaced it with wintypes.h in
218   wrctypes.h and added winuser.h in two other sources. This cuts compilation
219   time by a factor of 2 and final executable size with debug by a factor 2.5.
221 ---------------------------------------------------------------------------
222 Version 1.0.9 (01-Feb-1999)
224 Albert den Haan <albertd@corel.ca>:
225 - Fixed wrong order of res_ico and res_bmp which must be in RT_xxx order.
227 ---------------------------------------------------------------------------
228 Version 1.0.8 (10-Jan-1999)
230 Albert den Haan <albertd@corel.ca>:
231 - Added TOOLBAR support.
232 - Buffer overflow fix in strncpyWtoA.
233 - Open embedded files in resource definitions through the include path from
234   the commandline.
235 - Support named icons in dialogs with unquoted names
237 Bertho Stultiens <bertho@akhphd.au.dk>
238 - Fixed a major bug in the language propagation in the parser. The parser
239   did not copy the current language while binding it to a resource structure
240   causing wrong sorting if multiple global languages were in use and was a
241   potential segfault because the pointer might not be valid.
242 - Added language/version/characteristics support for toolbar.
243 - Moved some defines from wrc.h to wrctypes.h to support in toolbars.
244 - Removed function stricmp from source and replaced with native function
245   strcasecmp.
246 - Allocate cursor and icon ordinals according to the language of the item to
247   decrease the amount of ordinals in use. This reduces the resource
248   directory size by reducing the tree size.
249 - Versions 1.0.5 through 1.0.7 were never commited to cvs but were available
250   for download from an alternate site for elf-dll test generation.
252 ---------------------------------------------------------------------------
253 Version 1.0.7 (19-Dec-1998)
254 - Changed a couple of labels that are used by dllglue. Also reversed a patch
255   that made wrc's generated code dependent on dllglue's code.
257 ---------------------------------------------------------------------------
258 Version 1.0.6 (12-Dec-1998)
259 - Fixed the _PEResTab table where incorrect RVA's were put in the table.
260   The dllglue should now be merged into wrc for correct labels and the least
261   number of loadtime fixups.
263 ---------------------------------------------------------------------------
264 Version 1.0.5 (12-Dec-1998)
265 - Fixed an omited .globl statement for dllglue linking.
267 ---------------------------------------------------------------------------
268 Version 1.0.4 (10-Dec-1998)
269 - Added a global label for elf-dll linking and a long with the resource
270   size and a long with the directory size.
271 - Killed an annoying warning since version 1.0.0 in parser.y about a
272   var being used before init.
274 ---------------------------------------------------------------------------
275 Version 1.0.3 (02-Nov-1998)
276 - Bugfix in write_name_str() [writeres.c] where the length byte/word was
277   wrongly counted in the length of the string.
278   Thanks to Ulrich Weigand <weigand@informatik.uni-erlangen.de>
280 ---------------------------------------------------------------------------
281 Version 1.0.2 (20-Jun-1998)
282 - Started this file
283 - Fixed a bug in filename scanning when they are double quoted. The code now
284   is compatible with MS' rc and Borland's brc. There is a compromise in the
285   filenames because of case-sensitivity under *nix.
286 - Backslashes in a filepath are now converted to forward slashes and double
287 - Fixed a bug in printing the filename if loading of a file should fail.
288   backslashes are converted to single forward slash.
289 - Added -L option to prevent conversion to lower case for embedded filenames
290   in resource statements.
291 - Added language posibilities to icons and cursors so that the current
292   language is put into the .res ans .s file.
293 - Added character position indication of an error.
294 - Fixed CLASS statement so that it accepts double quoted strings as class
295   argument. This seems to be the correct behaviour (see SDK). The unquoted
296   class-name is still supported because it seems a reasonable option.
297 - Fixed accelerators with CONTROL option set so that they generate correct
298   code instead of generating an error.
299 - Added testing for flex version 2.5 or better because wrc needs the
300   yy_scan* functions to do preprocessing.
302 ---------------------------------------------------------------------------
303 Version  1.0.1 (08-Jun-1998)
304 - Added -A commandline option to generate autoregister code for the winelib
305   programs.
307 ---------------------------------------------------------------------------
308 Version 1.0.0 (28-May-1998)
309 - Initial release