From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17868 invoked by alias); 1 Feb 2002 17:37:58 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 17642 invoked from network); 1 Feb 2002 17:37:48 -0000 Received: from unknown (HELO mailout07.sul.t-online.com) (194.25.134.83) by sources.redhat.com with SMTP; 1 Feb 2002 17:37:48 -0000 Received: from fwd06.sul.t-online.de by mailout07.sul.t-online.com with smtp id 16WhdC-0006a0-0A; Fri, 01 Feb 2002 18:37:46 +0100 Received: from tux.herdsoft (320007220679-0001@[217.88.237.171]) by fmrl06.sul.t-online.com with esmtp id 16Whd7-1Ni28OC; Fri, 1 Feb 2002 18:37:41 +0100 Received: from [10.4.1.104] (helo=nikocity.de) by tux.herdsoft with esmtp (Exim 3.12 #1 (Debian)) id 16Whab-0007Un-00 for ; Fri, 01 Feb 2002 18:35:05 +0100 Message-ID: <3C5AD1C9.5060900@nikocity.de> Date: Fri, 01 Feb 2002 09:37:00 -0000 From: Bernd Herd User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:0.9.7) Gecko/20011221 X-Accept-Language: German, de, en MIME-Version: 1.0 To: binutils@sources.redhat.com Subject: [PATCH] windres CONTROL statements with id, \a escapes, \xhex escapes, CLASS and STYLE in DIALOG Content-Type: multipart/mixed; boundary="------------010808010604080405090607" X-Sender: 320007220679-0001@t-dialin.net X-SW-Source: 2002-02/txt/msg00021.txt.bz2 This is a multi-part message in MIME format. --------------010808010604080405090607 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 122 windrestest.tar.bz2 contains an example RC file to illustrate the problems solved. Created with microsoft visual C++ 5.0. --------------010808010604080405090607 Content-Type: text/plain; name="windres.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="windres.patch" Content-length: 3922 Index: binutils//ChangeLog =================================================================== RCS file: /cvs/src/src/binutils/ChangeLog,v retrieving revision 1.417 diff -c -r1.417 ChangeLog *** ChangeLog 2002/02/01 03:26:31 1.417 --- ChangeLog 2002/02/01 17:18:44 *************** *** 1,3 **** --- 1,16 ---- + 2002-02-01 Bernd Herd + + * rclex.l: "\a" escape (used for right justified + key definitions in menus) is encodes as binary 8 + * rclex.l: "\xhex" encoding in strings corrected + * rcparse.y: CLASS definitions in DIALOG resources + are quooted. + * rcparse.y: CONTROL statements may have a numeric first + parameters like icons do. + * rcparse.y: if style attribute of DIALOG resource + is given, there is *no* implicit start value of + WS_VISIBLE | WS_POPUP. + 2002-02-01 Alan Modra * Makefile.am: Run "make dep-am" Index: binutils//rclex.l =================================================================== RCS file: /cvs/src/src/binutils/rclex.l,v retrieving revision 1.4 diff -c -r1.4 rclex.l *** rclex.l 2001/09/19 05:33:16 1.4 --- rclex.l 2002/02/01 17:18:44 *************** *** 331,345 **** break; case 'a': ! *s++ = ESCAPE_A; ++t; break; - case 'b': - *s++ = ESCAPE_B; - ++t; - break; - case 'f': *s++ = ESCAPE_F; ++t; --- 331,340 ---- break; case 'a': ! *s++ = ESCAPE_B; /* Strange, but true... */ ++t; break; case 'f': *s++ = ESCAPE_F; ++t; *************** *** 394,402 **** if (*t >= '0' && *t <= '9') ch = (ch << 4) | (*t - '0'); else if (*t >= 'a' && *t <= 'f') ! ch = (ch << 4) | (*t - 'a'); else if (*t >= 'A' && *t <= 'F') ! ch = (ch << 4) | (*t - 'A'); else break; ++t; --- 389,397 ---- if (*t >= '0' && *t <= '9') ch = (ch << 4) | (*t - '0'); else if (*t >= 'a' && *t <= 'f') ! ch = (ch << 4) | (*t - 'a' + 0xa); else if (*t >= 'A' && *t <= 'F') ! ch = (ch << 4) | (*t - 'A' + 0xa); else break; ++t; Index: binutils//rcparse.y =================================================================== RCS file: /cvs/src/src/binutils/rcparse.y,v retrieving revision 1.7 diff -c -r1.7 rcparse.y *** rcparse.y 2001/09/19 05:33:16 1.7 --- rcparse.y 2002/02/01 17:18:46 *************** *** 415,426 **** { dialog.class = $3; } ! | styles STYLE ! { style = dialog.style; } styleexpr { dialog.style = style; } | styles EXSTYLE numexpr { dialog.exstyle = $3; --- 415,438 ---- { dialog.class = $3; } ! | styles CLASS QUOTEDSTRING ! { ! res_string_to_id(&dialog.class, $3); ! } ! ! ! | styles STYLE ! { style = 0; } styleexpr { dialog.style = style; } + + /* | styles STYLE numexpr + { + dialog.style = $3; + } + */ | styles EXSTYLE numexpr { dialog.exstyle = $3; *************** *** 515,521 **** { $$ = $3; if (dialog.ex == NULL) ! rcparse_warning (_("IEDIT requires DIALOGEX")); res_string_to_id (&$$->class, "BEDIT"); } | CHECKBOX --- 527,533 ---- { $$ = $3; if (dialog.ex == NULL) ! rcparse_warning (_("BEDIT requires DIALOGEX")); res_string_to_id (&$$->class, "BEDIT"); } | CHECKBOX *************** *** 581,586 **** --- 593,603 ---- $$->data = $13; $$->class.named = 1; unicode_from_ascii(&$$->class.u.n.length, &$$->class.u.n.name, $5); + } + | CONTROL resref numexpr ',' QUOTEDSTRING control_styleexpr + cnumexpr cnumexpr cnumexpr cnumexpr optcnumexpr opt_control_data + { + $$ = define_icon_control ($2, $3, $7, $8, style, $11, $11, $12, dialog.ex); } | CTEXT { --------------010808010604080405090607 Content-Type: application/octet-stream; name="windrestest.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="windrestest.tar.bz2" Content-length: 3644 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 --------------010808010604080405090607--