summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSquirrel <squirrelhomebrew@gmail.com>2026-01-27 18:54:07 -0800
committerGitHub <noreply@github.com>2026-01-27 18:54:07 -0800
commit2bfa3286eda81375422d9dda38b110512749cef9 (patch)
tree21f7959cf05360b3205e99c621d5f8249ecfe953
parent76118d8ea2369e4d89495bebeec52b98aaad56e4 (diff)
fix MAYBE.....................
-rw-r--r--std/regex.zc9
1 files changed, 7 insertions, 2 deletions
diff --git a/std/regex.zc b/std/regex.zc
index 346985e..92f1a54 100644
--- a/std/regex.zc
+++ b/std/regex.zc
@@ -1,5 +1,6 @@
include <regex.h>
include <string.h>
+
import "./core.zc"
import "./string.zc"
import "./vec.zc"
@@ -33,11 +34,11 @@ struct Regex {
impl Regex {
fn compile(pattern: char*) -> Regex {
- return Regex::compile_with_flags(pattern, 1);
+ return Regex::compile_with_flags(pattern, 1 | 2);
}
fn compile_with_flags(pattern: char*, flags: int) -> Regex {
- let preg = malloc(128);
+ let preg = malloc(1024);
let status = regcomp(preg, pattern, flags);
if (status != 0) {
free(preg);
@@ -55,6 +56,10 @@ impl Regex {
return regexec(self.preg, text, 0, 0, 0) == 0;
}
+ fn match_full(self, text: char*) -> bool {
+ return self.match(text);
+ }
+
fn match_at(self, text: char*, offset: int) -> bool {
if (self.preg == 0) { return false; }
let len = strlen(text);