From a87a00ea43681b9310995d15ce68d2e3906c6e93 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 1 Jul 2009 15:52:27 +0000 Subject: [PATCH] PR 6714 * rclex.c (handle_quotes): Do not complain about whitespace separating quoted strings. (rclex_string): Ignore whitespace when looking for a new opening quote following a closing quote. --- binutils/ChangeLog | 8 ++++++++ binutils/rclex.c | 18 +++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 0ff041fce02..9e505599f45 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2009-07-01 Nick Clifton + + PR 6714 + * rclex.c (handle_quotes): Do not complain about whitespace + separating quoted strings. + (rclex_string): Ignore whitespace when looking for a new opening + quote following a closing quote. + 2009-06-27 H.J. Lu PR binutils/10321 diff --git a/binutils/rclex.c b/binutils/rclex.c index 4fae3da5127..9b58af17882 100644 --- a/binutils/rclex.c +++ b/binutils/rclex.c @@ -390,9 +390,9 @@ handle_quotes (rc_uint_type *len) } else { - rcparse_warning ("unexpected character after '\"'"); ++t; - assert (ISSPACE (*t)); + if (! ISSPACE (*t)) + rcparse_warning ("unexpected character after '\"'"); while (ISSPACE (*t)) { if ((*t) == '\n') @@ -679,7 +679,7 @@ static void rclex_string (void) { int c; - + while ((c = rclex_peekch ()) != -1) { if (c == '\n') @@ -693,6 +693,18 @@ rclex_string (void) } else if (rclex_readch () == '"') { + /* PR 6714 + Skip any whitespace after the end of the double quotes. */ + do + { + c = rclex_peekch (); + if (ISSPACE (c)) + rclex_readch (); + else + c = -1; + } + while (c != -1); + if (rclex_peekch () == '"') rclex_readch (); else -- 2.30.2