aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuldoman <giulio.lettieri@gmail.com>2021-10-11 22:20:44 +0200
committerGuldoman <giulio.lettieri@gmail.com>2021-10-11 22:20:44 +0200
commit038e335c8c1813b257e132a30f00a4d60ee0b153 (patch)
tree71ddee2a6a080fe269a06b5a332d2dc1b3e451c7
parent3a71528087206cdd084e62424ad6539490fbf12d (diff)
downloadpragtical-038e335c8c1813b257e132a30f00a4d60ee0b153.tar.gz
pragtical-038e335c8c1813b257e132a30f00a4d60ee0b153.zip
Show error message when `pcre2_match` fails
-rw-r--r--src/api/regex.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/api/regex.c b/src/api/regex.c
index 1043b1c5..9f6bd3ee 100644
--- a/src/api/regex.c
+++ b/src/api/regex.c
@@ -68,8 +68,11 @@ static int f_pcre_match(lua_State *L) {
int rc = pcre2_match(re, (PCRE2_SPTR)str, len, offset - 1, opts, md, NULL);
if (rc < 0) {
pcre2_match_data_free(md);
- if (rc != PCRE2_ERROR_NOMATCH)
- luaL_error(L, "regex matching error %d", rc);
+ if (rc != PCRE2_ERROR_NOMATCH) {
+ PCRE2_UCHAR buffer[120];
+ pcre2_get_error_message(rc, buffer, sizeof(buffer));
+ luaL_error(L, "regex matching error %d: %s", rc, buffer);
+ }
return 0;
}
PCRE2_SIZE* ovector = pcre2_get_ovector_pointer(md);