From 8327ae0cb23b799bc55a45e0d4bd95f5a2b1cdf1 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 22 Jul 2013 14:39:59 -0400 Subject: [PATCH] make regoff_t and regex_t match C++ ABI for regoff_t, it's impossible to match on 64-bit archs because glibc defined the type in a non-conforming way. however this change makes the type match on 32-bit archs. --- include/alltypes.h.in | 1 + include/regex.h | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/alltypes.h.in b/include/alltypes.h.in index 83358996..f3481fc2 100644 --- a/include/alltypes.h.in +++ b/include/alltypes.h.in @@ -3,6 +3,7 @@ TYPEDEF unsigned _Addr uintptr_t; TYPEDEF _Addr ptrdiff_t; TYPEDEF _Addr ssize_t; TYPEDEF _Addr intptr_t; +TYPEDEF _Addr regoff_t; TYPEDEF signed char int8_t; TYPEDEF short int16_t; diff --git a/include/regex.h b/include/regex.h index ea9b894b..dce21771 100644 --- a/include/regex.h +++ b/include/regex.h @@ -7,13 +7,12 @@ extern "C" { #include +#define __NEED_regoff_t #define __NEED_size_t #include -typedef long regoff_t; - -typedef struct { +typedef struct re_pattern_buffer { size_t re_nsub; void *__opaque, *__padding[4]; size_t __nsub2;