Commit Graph

18 Commits

Author SHA1 Message Date
Bertho Stultiens 24b5050a7f - 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:-).
  Warnings are now only generated during parse in pedantic mode.
2000-07-08 11:49:29 +00:00
Bertho Stultiens 661a94033e - 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).
2000-06-13 03:37:56 +00:00
Bertho Stultiens c107f714d0 - 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.
2000-06-08 00:38:47 +00:00
Bertho Stultiens 997e0d782f - 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.
2000-05-23 01:18:38 +00:00
Bertho Stultiens 3d455c9b16 - 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.
- 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.
2000-05-09 22:35:10 +00:00
Bertho Stultiens 27337af65c - 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.
2000-05-01 20:05:58 +00:00
Bertho Stultiens 3781d0d6e7 Generated labels of resource names must be unique throughout the
generated code.
2000-01-04 00:24:05 +00:00
Juergen Schmied 1ce88e9584 - 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.
1999-11-07 21:08:57 +00:00
Bertho Stultiens c13c3f9ba8 Wrc did not check any IDs which are only 16 bit. Common dialogs had some
IDs larger and that caused problems. This is now solved (I hope).
1999-08-18 18:23:34 +00:00
Bertho Stultiens fbde5be239 Version 1.0.14 of wrc. 1999-08-14 15:01:54 +00:00
Bertho Stultiens 62451da52c - 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.
1999-07-20 14:54:54 +00:00
Bertho Stultiens ade16a3833 - 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.
1999-04-25 11:06:12 +00:00
Bertho Stultiens b17522817b Fix a couple of 64bit platform problems and speed up compilation. See
tools/wrc/CHANGES for details.
1999-02-20 16:09:24 +00:00
Albert den Haan 9cab0d1078 Fixed wrong order of res_ico and res_bmp which must be in RT_xxx order. 1999-02-02 13:02:59 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Bertho Stultiens 61608a270c - 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.
1998-12-14 16:04:49 +00:00
Bertho Stultiens 3b7212809b 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>
1998-11-06 10:51:40 +00:00
Alexandre Julliard ebfc0fee51 Release 980628
Sun Jun 28 18:37:02 1998  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
	Moved page-fault handling to INSTR_EmulateInstruction.

	* [scheduler/thread.c]
	Added locking and check for own thread in Suspend/ResumeThread.

Sat Jun 27 21:25:21 1998  Ulrich Weigand <weigand@informatik.uni-erlangen.de>

	* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c] 
	  [graphics/x11drv/bitblt.c] [include/bitmap.h]
	Improved DIB section handling using page fault handlers.
	(Note: This patch includes code contributed by Matthew J. Francis.)

	* [memory/virtual.c] [if1632/signal.c] [include/global.h]
	Page Fault handler support added.

	* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
	  [misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
	16-bit %fs handling improved: Always preserve 16-bit %fs value,
	always restore 32-bit %fs value for signal handlers.

	* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
	  [loader/ne/resource.c] [include/callback.h] [include/module.h]
	  [if1632/kernel.spec] [if1632/wprocs.spec]
	Resource Handler function pointer stored as 16-bit SEGPTR.

	* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
	  [if1632/kernel.spec] [loader/ne/module.c]
	Some minor incompatibilities fixed (Win32s relies on those):
	GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
	should cope with having the WINDOWPOS structure trashed;
	the OFSTRUCT in the NE module image should be placed *last*.

	* [include/windows.h]
	Missing prototype for FlushViewOfFile.

	* [loader/task.c]
	Bugfix: Command line should *not* start with a blank.
	
	* [loader/ne/segment.c]
	Bugfix: Fixups to offset 0 were never applied.

	* [misc/lstr.c]
	Use debugstr_a in OutputDebugString16.

	* [msdos/dpmi.c]
	Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.

	* [msdos/int21.c]
	Stub for int 21 AX=440d CL=6f (get drive map information) added.

Fri Jun 26 18:08:30 1998  Rein Klazes <rklazes@casema.net>

	* [windows/winpos.c]
	Fix small buglet that mixed up maximized and minimized windows.

	* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
	  [graphics/x11drv/graphics.c]
	Fix some bugs with lines joining styles. Draws rectangles
	with thick pens now correctly.

Fri Jun 26 16:22:23 1998  James Juran <jrj120@psu.edu>

	* [misc/shell.c]
	Fixed bug I introduced last release in InternalExtractIcon.

	* [win32/file.c]
	Added documentation for CreateFile32A.

	* [documentation/wine.man]
	Updated manpage.	

	* [ChangeLog]
	Added my entry from last release.

Fri Jun 26 13:33:30 1998  Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>

	* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
	  [include/print.h] [objects/gdiobj.c]
	First stages of an internal Postscript driver. See
	graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
	write and winword6.

	* [documentation/printing]
	Some notes on printing.

	* [controls/edit.c]
	Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
	EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
	and not as an action as the docs say. This actually makes more sense.
	Scroll the caret back to zero after a WM_SETTEXT.

Fri Jun 26 10:56:25 1998  Marcus Meissner <marcus@jet.franken.de>

	* [if1632/snoop.c]
	Added win16 inter-dll snooping.

	* [win32/ordinals.c]
	KERNEL_485 is GetProcessDword.

	* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
	Added xcalloc so we 0 initialize XImages. 
	Fixes/Hides the 'junk around MOPYFish'.

	* [misc/ntdll.c]
	Some stubs added.

Thu Jun 25 15:22:43 1998  Adrian Harvey <adrian@select.com.au>

	* [scheduler/thread.c] 
	Implemented SuspendThread and ResumeThread.

Thu Jun 25 00:55:03 1998  Peter Hunnisett <hunnise@nortel.ca>

	* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
	  [relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
	  [documentation/status/directplay]
	Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
	preliminary stubs put in the dsound files into two new files
	dplay.h and dplay.c.
	Added new debug channel (dplay) for this.
	Created new document to keep track of implementation.

	* [include/winioctl.h][win32/device.c]
	Added some framework in DeviceIoControl to, in the future, support
	the "builtin" windows dwIoControlCodes. Added new header file
	winioctl.h . 

	* [multimedia/mmsystem.c]
	Added slightly improved debugging information for PlaySound.

Wed Jun 24 12:00:00 1998  Juergen Schmied <juergen.schmied@metronet.de> 

	* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
	Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
	lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
	because it's not necessary to support locale on such places.
	It causes a huge overhead and even fails sometimes 

	* [include/oleauto.h][include/winerror.h]
	Added some ole-related constants.

	* [misc/shell.c]
	SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
	SHGetPathFromIDList improved the stubs

	* [ole/folders.c]
	IShellFolder* functions rewrote the stubs so don't crash and give
	something sensible back, started implementation of.

	* [ole/typelib.c][relay32/oleaut32.spec]
	LoadTypeLib32, RegisterTypeLib stub.

	* [ole/ole2nls.c]
	Fixed a buffer overrun in CompareString32A.
	Test for a bad pointer in LCMapString32A (happens
	in winhlp32 while building a index for searching). 

	* [relay32/oleaut32.spec] [ole/typelib.c]
	Added stub for LoadTypeLib (ole32) to make excel95 happy.

Tue Jun 23 22:47:09 1998  Alex Priem <alexp@sci.kun.nl>

	* [files/profile.c] [relay32/kernel32.spec]
	Added WritePrivateProfileStructA, GetPrivateProfileStructA,
	GetPrivateProfileSectionNames16.

Tue Jun 23 01:34:43 1998  Pascal Cuoq <pcuoq@ens-lyon.fr>

	* [ole/ole2nls.c]
	GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
	LCMapString32A: Map final '\0' for '\0'-terminated strings.

	* [misc/shellord.c] [files/profile.c] [graphics/driver.c] 
	  [loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
	Changed lstrcmpi32A -> strcasecmp.  Should be OK in these places.

Sat Jun 20 23:40:00 1998  Bertho Stultiens <bertho@akhphd.au.dk>

	* [tools/wrc/]
	Wrc version 1.0.2 (20-Jun-1998). Please revert to 
	the file tools/wrc/CHANGES for details.

Sat Jun 20 14:58:00 1998  Marcel Baur  <mbaur@g26.ethz.ch>

	* [ole/ole2nls.c] [ole/nls/*]
	Added the first 57 nls files, most are not yet complete.

Wed Jun 17 11:16:54 1998  David Luyer <luyer@ucs.uwa.edu.au>

	* [relay32/relay386.c] [if1632/relay.c]
	Move debug_relay_(include|exclude)_list handling into
	seperate function RELAY_ShowDebugmsgsRelay().  Include
	checking of this for 16 bit calls (originally only
	32-bit calls).

	* [relay32/snoop.c] [misc/main.c]
	Add debug_snoop_(include|exclude)_list as per the relay stuff.
	Fix typo and add information on -debugmsg +/-relay=... in
	help on -debugmsg.  Refer to availability of snoop too.

Tue Jun 10 22:00:18 1998  Eric Kohl <ekohl@abo.rhein-zeitung.de>

	* [controls/header.c][include/header.h][include/commctrl.h]
	Added owner draw support.

	* [windows/nonclient.c][windows/sysmetics.c]
	Fixed menu bar height for Win95 look.
	Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
	NC_AdjustRectInner95 to fix a menu bar bug.
	Improved Win95 look.

	* [controls/progress.c]
	Improved drawing code. Borders will be drawn by non-client code.

	* [controls/updown.c]
	Changed memory allocation and fixed some bugs.

	* [controls/toolbar.c]
	Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
	Several improvements.

	* [misc/shell.c]
	Added stub for BrowseForFoldersA().

	* [misc/shellord.c]
	Added stub for SHELL32_147().

	* [controls/comctl32undoc.c]
	Minor changes.

	* [documentation/common_controls]
	New File: Documentation about development status, undocumented
	features and functions of the common controls.
1998-06-28 18:40:26 +00:00