c-lex.c (yylex): Fix unaligned access of wchar_t.
authorDave Brolley <brolley@cygnus.com>
Fri, 16 Oct 1998 12:40:02 +0000 (12:40 +0000)
committerDave Brolley <brolley@gcc.gnu.org>
Fri, 16 Oct 1998 12:40:02 +0000 (08:40 -0400)
Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
        * c-lex.c (yylex): Fix unaligned access of wchar_t.

From-SVN: r23133

gcc/ChangeLog
gcc/c-lex.c

index 0a2918802a6933e65ab49843978b09f5e8f7a221..dd152b9114fb3a7c5a1c06c557d2a85822db559d 100644 (file)
@@ -1,3 +1,7 @@
+Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
+
+        * c-lex.c (yylex): Fix unaligned access of wchar_t.
+
 Fri Oct 16 10:47:53 1998  Nick Clifton  <nickc@cygnus.com>
 
        * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
index ec1386ae59c30864e40aa646eff816d48460a3b4..6c0d29f7889e38e239b9774fc6d45b7dbbaa0e92 100644 (file)
@@ -2036,15 +2036,13 @@ yylex ()
                    /* mbtowc sometimes needs an extra char before accepting */
                    if (char_len <= i)
                      UNGETC (c);
-                   if (wide_flag)
+                   if (wide_flag)
                      {
-                       *(wchar_t *)p = wc;
-                       p += sizeof (wc);
+                       p += (i + 1);
+                       c = GETC ();
+                       continue;
                      }
-                   else
-                     p += (i + 1);
-                   c = GETC ();
-                   continue;
+                   c = wc;
                  }
 #endif /* MULTIBYTE_CHARS */
              }