This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
windres regression with control strings spanning multiple lines
- From: Brian Dessent <brian at dessent dot net>
- To: binutils at sourceware dot org
- Date: Sat, 15 Mar 2008 09:44:08 -0700
- Subject: windres regression with control strings spanning multiple lines
- Reply-to: binutils at sourceware dot org
There is a regression in the current binutils windres when trying to
parse a control whose string spans multiple lines. A simple testcase
is:
0 DIALOG 0,0,0,0
BEGIN
LTEXT "This is a "
"continued line",0,0,0,0,0
END
This is accepted by (2.17.50 20060817) but current CVS does not:
$ i686-pc-mingw32-windres tc.rc
i686-pc-mingw32-windres: tc.rc:4: syntax error
The Microsoft RC.EXE does not accept this syntax either, for what it's
worth, but the old windres did and it's really handy. There was a fix
in this area last year
<http://sourceware.org/ml/binutils-cvs/2007-05/msg00132.html> however
that seems to have omitted controls.
The attached patch seems to fix the issue for me, allowing both the
testcase and a real app to build successfully.
Brian
2008-03-15 Brian Dessent <brian@dessent.net>
* rcparse.y (resid): Allow control text to span multiple lines.
Index: rcparse.y
===================================================================
RCS file: /cvs/src/src/binutils/rcparse.y,v
retrieving revision 1.27
diff -u -p -r1.27 rcparse.y
--- rcparse.y 11 Sep 2007 14:05:09 -0000 1.27
+++ rcparse.y 15 Mar 2008 16:17:09 -0000
@@ -926,7 +926,7 @@ resid:
$$.named = 0;
$$.u.id = $1;
}
- | res_unicode_string
+ | res_unicode_string_concat
{
$$.named = 1;
$$.u.n.name = $1;