From 2cc478ed1be82711a6cac15aae683530b2e6732b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 4 Aug 2020 23:45:27 -0700 Subject: [PATCH 5/5] Copy regex_internal.h from Gnulib Sync this file from Gnulib, thus incorporating the following fix for a bug with regexps with 16 or more subexpressions: * posix/regex_internal.h (struct re_backref_cache_entry): Use bitset_word_t as the type of eps_reachable_subexps_map, instead of unsigned short int. This fixes a bug I introduced to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit 2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302). Remove unused member 'unused'. --- posix/regex_internal.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/posix/regex_internal.h b/posix/regex_internal.h index e9aa74bf33..8c42586c42 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -591,9 +591,8 @@ struct re_backref_cache_entry Idx str_idx; Idx subexp_from; Idx subexp_to; + bitset_word_t eps_reachable_subexps_map; char more; - char unused; - unsigned short int eps_reachable_subexps_map; }; typedef struct -- 2.25.4