aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_example/mod_regexp/sqlite3_mod_regexp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/_example/mod_regexp/sqlite3_mod_regexp.c b/_example/mod_regexp/sqlite3_mod_regexp.c
index 277764d..d3ad149 100644
--- a/_example/mod_regexp/sqlite3_mod_regexp.c
+++ b/_example/mod_regexp/sqlite3_mod_regexp.c
@@ -13,9 +13,13 @@ static void regexp_func(sqlite3_context *context, int argc, sqlite3_value **argv
int vec[500];
int n, rc;
pcre* re = pcre_compile(pattern, 0, &errstr, &erroff, NULL);
+ if (!re) {
+ sqlite3_result_error(context, errstr, 0);
+ return;
+ }
rc = pcre_exec(re, NULL, target, strlen(target), 0, 0, vec, 500);
if (rc <= 0) {
- sqlite3_result_error(context, errstr, 0);
+ sqlite3_result_int(context, 0);
return;
}
sqlite3_result_int(context, 1);