aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/pcre/pcre_internal.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2019-05-22 17:51:42 +0200
committerRickard Green <[email protected]>2019-06-18 22:27:23 +0200
commitb4ee064b539958f6a13bc9554758a106a49f4bd6 (patch)
treef5557f2be227b884ae551b6914d269365da15db9 /erts/emulator/pcre/pcre_internal.h
parentf9f857c8094e6bb50a944316ea120e53cd5552ed (diff)
downloadotp-b4ee064b539958f6a13bc9554758a106a49f4bd6.tar.gz
otp-b4ee064b539958f6a13bc9554758a106a49f4bd6.tar.bz2
otp-b4ee064b539958f6a13bc9554758a106a49f4bd6.zip
Yield when validating UTF8 for long subject in re:run()
Diffstat (limited to 'erts/emulator/pcre/pcre_internal.h')
-rw-r--r--erts/emulator/pcre/pcre_internal.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/erts/emulator/pcre/pcre_internal.h b/erts/emulator/pcre/pcre_internal.h
index c84dcb5a38..71f473e86f 100644
--- a/erts/emulator/pcre/pcre_internal.h
+++ b/erts/emulator/pcre/pcre_internal.h
@@ -2756,6 +2756,17 @@ extern int PRIV(strcmp_uc_c8_utf)(const pcre_uchar *,
#endif /* COMPILE_PCRE[8|16|32] */
+#if defined(ERLANG_INTEGRATION)
+struct PRIV(valid_utf_ystate) {
+ unsigned int cnt;
+ int length;
+ int yielded;
+ PCRE_PUCHAR p;
+};
+extern int PRIV(yielding_valid_utf)(PCRE_PUCHAR, int, int *,
+ struct PRIV(valid_utf_ystate) *);
+#endif
+
extern const pcre_uchar *PRIV(find_bracket)(const pcre_uchar *, BOOL, int);
extern BOOL PRIV(is_newline)(PCRE_PUCHAR, int, PCRE_PUCHAR,
int *, BOOL);