Fix parsing hex constants in strings. Add test for the fix.
This commit is contained in:
parent
2ed5f585e4
commit
4c30641a0f
5 changed files with 24 additions and 6 deletions
|
@ -2,7 +2,9 @@
|
|||
|
||||
* rcparse.y: CLASS definitions in DIALOG resources
|
||||
are quoted.
|
||||
Fix typo in BEDIT warning
|
||||
Fix typo in BEDIT warning.
|
||||
|
||||
* rclex.l: "\xhex" encoding in strings corrected.
|
||||
|
||||
2002-04-09 Gunnar Degnbol <degnbol@danbbs.dk>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
%{ /* rclex.l -- lexer for Windows rc files parser */
|
||||
/* Copyright 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
|
||||
/* Copyright 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support.
|
||||
|
||||
This file is part of GNU Binutils.
|
||||
|
@ -284,11 +284,11 @@ cpp_line (s)
|
|||
if (!initial_fn)
|
||||
{
|
||||
initial_fn = xmalloc (strlen (fn) + 1);
|
||||
strcpy(initial_fn, fn);
|
||||
strcpy (initial_fn, fn);
|
||||
}
|
||||
|
||||
/* Allow the initial file, regardless of name. Suppress all other
|
||||
files if they end in ".h" (this allows included "*.rc") */
|
||||
files if they end in ".h" (this allows included "*.rc"). */
|
||||
if (strcmp (initial_fn, fn) == 0
|
||||
|| strcmp (fn + strlen (fn) - 2, ".h") != 0)
|
||||
suppress_cpp_data = 0;
|
||||
|
@ -394,9 +394,9 @@ handle_quotes (input, len)
|
|||
if (*t >= '0' && *t <= '9')
|
||||
ch = (ch << 4) | (*t - '0');
|
||||
else if (*t >= 'a' && *t <= 'f')
|
||||
ch = (ch << 4) | (*t - 'a');
|
||||
ch = (ch << 4) | (*t - 'a' + 10);
|
||||
else if (*t >= 'A' && *t <= 'F')
|
||||
ch = (ch << 4) | (*t - 'A');
|
||||
ch = (ch << 4) | (*t - 'A' + 10);
|
||||
else
|
||||
break;
|
||||
++t;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
2002-04-09 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* binutils-all/windres/escapex.rc: New test case for hex constants
|
||||
in strings.
|
||||
* binutils-all/windres/escapex.rsd: Expected output
|
||||
|
||||
* binutils-all/windres/quoteclass.rc: New test case for quoted
|
||||
CLASS definitions in DIALOG resources.
|
||||
|
||||
|
|
4
binutils/testsuite/binutils-all/windres/escapex.rc
Normal file
4
binutils/testsuite/binutils-all/windres/escapex.rc
Normal file
|
@ -0,0 +1,4 @@
|
|||
101 DIALOG DISCARDABLE 0, 0, 186, 95
|
||||
BEGIN
|
||||
LTEXT "\xB0",-1,23,46,28,8
|
||||
END
|
8
binutils/testsuite/binutils-all/windres/escapex.rsd
Normal file
8
binutils/testsuite/binutils-all/windres/escapex.rsd
Normal file
|
@ -0,0 +1,8 @@
|
|||
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
|
||||
0010 00000000 00000000 00000000 00000000 ................
|
||||
0020 34000000 20000000 ffff0500 ffff6500 4... .........e.
|
||||
0030 00000000 10100000 00000000 00000000 ................
|
||||
0040 00008880 00000000 01000000 0000ba00 ................
|
||||
0050 5f000000 00000000 00000250 00000000 _..........P....
|
||||
0060 17002e00 1c000800 ffffffff 8200b000 ................
|
||||
0070 00000000 ....
|
Loading…
Add table
Reference in a new issue