aboutsummaryrefslogtreecommitdiff
path: root/binutils/rclex.l
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-04-09 15:36:43 +0000
committerNick Clifton <nickc@redhat.com>2002-04-09 15:36:43 +0000
commit4c30641a0f5551dff885ff61a7b7368a81a77421 (patch)
treeeff43f00afa2ebf3beb9b0d4854cff57c355096c /binutils/rclex.l
parent2ed5f585e4f1b7f0c719d704807f994938613a4c (diff)
downloadgdb-4c30641a0f5551dff885ff61a7b7368a81a77421.zip
gdb-4c30641a0f5551dff885ff61a7b7368a81a77421.tar.gz
gdb-4c30641a0f5551dff885ff61a7b7368a81a77421.tar.bz2
Fix parsing hex constants in strings. Add test for the fix.
Diffstat (limited to 'binutils/rclex.l')
-rw-r--r--binutils/rclex.l10
1 files changed, 5 insertions, 5 deletions
diff --git a/binutils/rclex.l b/binutils/rclex.l
index c9073e2..f20c82f 100644
--- a/binutils/rclex.l
+++ b/binutils/rclex.l
@@ -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;