diff options
| author | Guldoman <giulio.lettieri@gmail.com> | 2021-10-11 22:20:44 +0200 |
|---|---|---|
| committer | Guldoman <giulio.lettieri@gmail.com> | 2021-10-11 22:20:44 +0200 |
| commit | 038e335c8c1813b257e132a30f00a4d60ee0b153 (patch) | |
| tree | 71ddee2a6a080fe269a06b5a332d2dc1b3e451c7 | |
| parent | 3a71528087206cdd084e62424ad6539490fbf12d (diff) | |
| download | pragtical-038e335c8c1813b257e132a30f00a4d60ee0b153.tar.gz pragtical-038e335c8c1813b257e132a30f00a4d60ee0b153.zip | |
Show error message when `pcre2_match` fails
| -rw-r--r-- | src/api/regex.c | 7 |
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); |
