summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-12-27 10:25:48 -0700
committerKarl Williamson <public@khwilliamson.com>2012-12-28 10:38:53 -0700
commitf799ce5b1c4ca739689451f7214896b548302a75 (patch)
tree26c583be03c1270c9951bab54b4cc7405b1fd026 /embed.fnc
parent9f68b0f7acd1bcb04e7baa4bdb7cfec8e5d985c8 (diff)
downloadperl-f799ce5b1c4ca739689451f7214896b548302a75.tar.gz
regcomp.c: Don't iterate while changing an inversion list
This adds functions to prevent accidental (or deliberate) iteration over an inversion list while it is being modified. This is to catch development errors, and in production builds, the asserts() are likely no-ops
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc2
1 files changed, 2 insertions, 0 deletions
diff --git a/embed.fnc b/embed.fnc
index a2c77b2e21..5e03012ea1 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -1411,10 +1411,12 @@ EiMR |IV |invlist_previous_index|NN SV* const invlist
EiM |void |invlist_set_previous_index|NN SV* const invlist|const IV index
EiM |void |invlist_trim |NN SV* const invlist
EiMR |SV* |invlist_clone |NN SV* const invlist
+EiMR |bool |invlist_is_iterating|NN SV* const invlist
EiMR |UV* |get_invlist_iter_addr |NN SV* invlist
EiMR |UV* |get_invlist_version_id_addr |NN SV* invlist
EiM |void |invlist_iterinit|NN SV* invlist
EsMR |bool |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
+EsM |void |invlist_iterfinish|NN SV* invlist
EiMR |UV |invlist_highest|NN SV* const invlist
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)