mbsstr: port --enable-gcc-warnings to clang
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 15 May 2013 07:17:25 +0000 (00:17 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 15 May 2013 07:33:38 +0000 (00:33 -0700)
* lib/mbsstr.c (knuth_morris_pratt_multibyte):
Avoid casts from looser to stricter-aligned pointers.

ChangeLog
lib/mbsstr.c

index 508458e..1a8925a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
 
+       mbsstr: port --enable-gcc-warnings to clang
+       * lib/mbsstr.c (knuth_morris_pratt_multibyte):
+       Avoid casts from looser to stricter-aligned pointers.
+
        malloca: port --enable-gcc-warnings to clang
        * lib/malloca.c (struct header): New member 'magic', to avoid casts.
        (mmalloca): Avoid casts from looser to stricter-aligned pointers.
index f84e689..24cff25 100644 (file)
@@ -45,11 +45,12 @@ knuth_morris_pratt_multibyte (const char *haystack, const char *needle,
   size_t *table;
 
   /* Allocate room for needle_mbchars and the table.  */
-  char *memory = (char *) nmalloca (m, sizeof (mbchar_t) + sizeof (size_t));
+  void *memory = nmalloca (m, sizeof (mbchar_t) + sizeof (size_t));
+  void *table_memory;
   if (memory == NULL)
     return false;
-  needle_mbchars = (mbchar_t *) memory;
-  table = (size_t *) (memory + m * sizeof (mbchar_t));
+  needle_mbchars = memory;
+  table = table_memory = needle_mbchars + m;
 
   /* Fill needle_mbchars.  */
   {