This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

windres regression with control strings spanning multiple lines


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ドル;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

AltStyle によって変換されたページ (->オリジナル) /