diff options
author | Elliott Hughes <enh@google.com> | 2015-08-27 14:48:32 -0700 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2015-11-07 16:46:15 +0200 |
commit | 5ffc0c975693345ce0eb829b9faa3c50173730ed (patch) | |
tree | 1ea5746acd19a07b65c7d418c448dd9fe8889b09 /libc | |
parent | 607f747e59a3dea20ed324419f8afc611fd66ee1 (diff) | |
download | bionic-5ffc0c975693345ce0eb829b9faa3c50173730ed.zip bionic-5ffc0c975693345ce0eb829b9faa3c50173730ed.tar.gz bionic-5ffc0c975693345ce0eb829b9faa3c50173730ed.tar.bz2 |
Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64.
bionic is built without _FILE_OFFSET_BITS=64, so internally regoff_t
was 32-bit on LP32, but code compiled with _FILE_OFFSET_BITS would
expect rm_so and rm_eo in struct regmatch_t to be 64-bit, leading to
confusion.
Bug: http://b/23566443
Change-Id: Iae92fa545104068e4f64ce1977f5ec616859638c
Diffstat (limited to 'libc')
-rw-r--r-- | libc/include/regex.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libc/include/regex.h b/libc/include/regex.h index aec38e3..b06a515 100644 --- a/libc/include/regex.h +++ b/libc/include/regex.h @@ -42,8 +42,9 @@ #include <sys/cdefs.h> #include <sys/types.h> -/* types */ -typedef off_t regoff_t; +/* POSIX says regoff_t is at least as large as the larger of ptrdiff_t and + * ssize_t. BSD uses off_t, but that interacts badly with _FILE_OFFSET_BITS. */ +typedef ssize_t regoff_t; typedef struct { int re_magic; |