[glib/wip/3v1n0/regex-pcre2-flags-fixes: 10/11] regex: Avoid allocating offsets until we've a match
- From: Marco Trevisan <marcotrevi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/3v1n0/regex-pcre2-flags-fixes: 10/11] regex: Avoid allocating offsets until we've a match
- Date: Wed, 7 Sep 2022 12:23:34 +0000 (UTC)
commit 172d10bb945b9e804364f2ea0c231f6b479b362f
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date: Tue Sep 6 19:19:03 2022 +0200
regex: Avoid allocating offsets until we've a match
There's no much point of pre-allocating offsets given that we're doing
this when needed if only have matches to store.
So let's just allocate the spaces for the dummy offset we depend on,
while allocate the others on demand.
glib/gregex.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
---
diff --git a/glib/gregex.c b/glib/gregex.c
index 53a6cdbe16..58f85ae742 100644
--- a/glib/gregex.c
+++ b/glib/gregex.c
@@ -806,15 +806,11 @@ match_info_new (const GRegex *regex,
{
/* These values should be enough for most cases, if they are not
* enough g_regex_match_all_full() will expand them. */
- match_info->n_offsets = 24;
match_info->n_workspace = 100;
match_info->workspace = g_new (gint, match_info->n_workspace);
}
- else
- {
- match_info->n_offsets = (match_info->n_subpatterns + 1) * 3;
- }
+ match_info->n_offsets = 2;
match_info->offsets = g_new0 (gint, match_info->n_offsets);
/* Set an invalid position for the previous match. */
match_info->offsets[0] = -1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]