diff options
author | Elliott Hughes <enh@google.com> | 2015-08-27 14:48:32 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2015-08-27 14:48:32 -0700 |
commit | adf5c7237da419393462a19c94c102abf7865c78 (patch) | |
tree | 2db8f570d64756e5e964aac8aeec4c99166a8f27 /tests/regex_test.cpp | |
parent | bfaee4bd6ad901a699df21fd44d95f34e2e7444d (diff) |
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 'tests/regex_test.cpp')
-rw-r--r-- | tests/regex_test.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/regex_test.cpp b/tests/regex_test.cpp index d02622190..4a4409ef3 100644 --- a/tests/regex_test.cpp +++ b/tests/regex_test.cpp @@ -36,3 +36,13 @@ TEST(regex, smoke) { regfree(&re); } + +TEST(regex, match_offsets) { + regex_t re; + regmatch_t matches[1]; + ASSERT_EQ(0, regcomp(&re, "b", 0)); + ASSERT_EQ(0, regexec(&re, "abc", 1, matches, 0)); + ASSERT_EQ(1, matches[0].rm_so); + ASSERT_EQ(2, matches[0].rm_eo); + regfree(&re); +} |