mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-13 07:56:17 +01:00
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.
This commit is contained in:
parent
e8628a7ed5
commit
fe1c2628d5
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user