PR 6714
authorNick Clifton <nickc@redhat.com>
Wed, 1 Jul 2009 15:52:27 +0000 (15:52 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 1 Jul 2009 15:52:27 +0000 (15:52 +0000)
        * 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
binutils/rclex.c

index 0ff041fce02f6c032c4dad44dd98dec9a15a688b..9e505599f45bb78e4a9bb1f1122c62481a3c0883 100644 (file)
@@ -1,3 +1,11 @@
+2009-07-01  Nick Clifton  <nickc@redhat.com>
+
+       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  <hongjiu.lu@intel.com>
 
        PR binutils/10321
index 4fae3da51275cbc36ace1320ca537322278513d7..9b58af17882403c011ea7baf7fd1d55051eaef23 100644 (file)
@@ -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