diff options
Diffstat (limited to 'locale')
-rw-r--r-- | locale/weight.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/locale/weight.h b/locale/weight.h index cc634c253b..6151faacea 100644 --- a/locale/weight.h +++ b/locale/weight.h @@ -68,6 +68,8 @@ findidx (const unsigned char **cpp) /* Up to the next entry. */ cp += nhere; + if ((1 + nhere) % __alignof__ (int32_t) != 0) + cp += __alignof__ (int32_t) - (1 + nhere) % __alignof__ (int32_t); } else { @@ -86,6 +88,9 @@ findidx (const unsigned char **cpp) { /* Cannot be in this range. */ cp += 2 * nhere; + if ((1 + 2 * nhere) % __alignof__ (int32_t) != 0) + cp += (__alignof__ (int32_t) + - (1 + 2 * nhere) % __alignof__ (int32_t)); continue; } @@ -98,6 +103,9 @@ findidx (const unsigned char **cpp) { /* Cannot be in this range. */ cp += 2 * nhere; + if ((1 + 2 * nhere) % __alignof__ (int32_t) != 0) + cp += (__alignof__ (int32_t) + - (1 + 2 * nhere) % __alignof__ (int32_t)); continue; } |