]> git.proxmox.com Git - grub2.git/commitdiff
* grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 9 Feb 2012 22:40:17 +0000 (23:40 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 9 Feb 2012 22:40:17 +0000 (23:40 +0100)
re_dfa_t to avoid breaking alignment invariants.
* grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
* grub-core/gnulib/regex.h (re_dfa_t): ... here.

ChangeLog
grub-core/gnulib/regcomp.c
grub-core/gnulib/regex.h
grub-core/gnulib/regex_internal.h

index 4d180a1b45ba100fd1ad20c67dade3c1dfc9fe64..a6beab995222c2f61b340895cbf69417899e5ee3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
+       re_dfa_t to avoid breaking alignment invariants.
+       * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
+       * grub-core/gnulib/regex.h (re_dfa_t): ... here.
+
 2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
index d153e3c2eb1264c3bddb5db5036a4b711080b310..083469ef31c2897e35022fde3916405bc5d30079 100644 (file)
@@ -776,7 +776,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
       if (dfa == NULL)
        return REG_ESPACE;
       preg->allocated = sizeof (re_dfa_t);
-      preg->buffer = (unsigned char *) dfa;
+      preg->buffer = dfa;
     }
   preg->used = sizeof (re_dfa_t);
 
index e8bd5496cf88c7e76e340386f8bf1fda4f158922..1c139d680ead19539a289e346cf91057aec6f118 100644 (file)
@@ -448,12 +448,15 @@ typedef enum
    compiled, the `re_nsub' field is available.  All other fields are
    private to the regex routines.  */
 
+struct re_dfa_t;
+typedef struct re_dfa_t re_dfa_t;
+
 struct re_pattern_buffer
 {
   /* Space that holds the compiled pattern.  It is declared as
      `unsigned char *' because its elements are sometimes used as
      array indexes.  */
-  unsigned char *_REG_RE_NAME (buffer);
+  re_dfa_t *_REG_RE_NAME (buffer);
 
   /* Number of bytes to which `buffer' points.  */
   __re_long_size_t _REG_RE_NAME (allocated);
index 5aa5aa287acd5f899f2eec04a2687c50ecbecc1d..e5b6679d1c2693ff37fbdf1ca32e22ccb37ecbdf 100644 (file)
@@ -413,10 +413,6 @@ struct re_string_t
 };
 typedef struct re_string_t re_string_t;
 
-
-struct re_dfa_t;
-typedef struct re_dfa_t re_dfa_t;
-
 #ifndef _LIBC
 # if defined __i386__ && !defined __EMX__
 #  define internal_function   __attribute ((regparm (3), stdcall))