string = "Hello World";
SILC_LOG_DEBUG(("Match %s", string));
- if (!silc_regex_match(®, string, num_match, match, 0))
+ if (!silc_regex_match(®, string, strlen(string), num_match, match, 0))
goto err;
for (i = 0; i < num_match; i++) {
if (match[i].start != -1) {
string = "foo";
SILC_LOG_DEBUG(("Match %s", string));
- if (!silc_regex_match(®, string, 0, NULL, 0))
+ if (!silc_regex_match(®, string, strlen(string), 0, NULL, 0))
goto err;
string = "foo20";
SILC_LOG_DEBUG(("Match %s", string));
- if (!silc_regex_match(®, string, 0, NULL, 0))
+ if (!silc_regex_match(®, string, strlen(string), 0, NULL, 0))
goto err;
string = "foo20, bar, foo100, foo";
SILC_LOG_DEBUG(("Match all substrings in %s", string));
- while (silc_regex_match(®, string, 1, match, 0)) {
+ while (silc_regex_match(®, string, strlen(string), 1, match, 0)) {
SILC_LOG_DEBUG(("Match start %d", match[0].start));
sub = silc_memdup(string + match[0].start, match[0].end - match[0].start);
SILC_LOG_DEBUG(("Match substring '%s'", sub));
string = "foo20, bar, foo100, Foo, foo0";
SILC_LOG_DEBUG(("Match all substrings at once in %s", string));
- if (!silc_regex_match(®, string, num_match, match, 0))
+ if (!silc_regex_match(®, string, strlen(string), num_match, match, 0))
goto err;
for (i = 0; i < num_match; i++) {
string = "http://silcnet.org:443/foobar/pelle.html";
SILC_LOG_DEBUG(("Parse URI"));
- if (!silc_regex_match(®, string, num_match, match, 0))
+ if (!silc_regex_match(®, string, strlen(string), num_match, match, 0))
goto err;
for (i = 0; i < num_match; i++) {
string = "http://silcnet.org/";
SILC_LOG_DEBUG(("Parse URI"));
- if (!silc_regex_match(®, string, num_match, match, 0))
+ if (!silc_regex_match(®, string, strlen(string), num_match, match, 0))
goto err;
for (i = 0; i < num_match; i++) {
string = "ab";
SILC_LOG_DEBUG(("Match all substrings at once in %s", string));
- if (!silc_regex_match(®, string, num_match, match, 0))
+ if (!silc_regex_match(®, string, strlen(string), num_match, match, 0))
goto err;
for (i = 0; i < num_match; i++) {
silc_regex_free(®);
+ regex = "^a";
+ SILC_LOG_DEBUG(("Regex %s", regex));
+ if (!silc_regex_compile(®, regex, 0))
+ goto err;
+
+ string = "a";
+ SILC_LOG_DEBUG(("Test NOTBOL flag", string));
+ if (silc_regex_match(®, string, strlen(string), 0, NULL,
+ SILC_REGEX_NOTBOL))
+ goto err;
+ if (silc_errno != SILC_ERR_NOT_FOUND)
+ goto err;
+ SILC_LOG_DEBUG(("Did not match (OK)"));
+
+ silc_regex_free(®);
+
+ regex = "a$";
+ SILC_LOG_DEBUG(("Regex %s", regex));
+ if (!silc_regex_compile(®, regex, 0))
+ goto err;
+
+ string = "a";
+ SILC_LOG_DEBUG(("Test NOTEOL flag", string));
+ if (silc_regex_match(®, string, strlen(string), 0, NULL,
+ SILC_REGEX_NOTEOL))
+ goto err;
+ if (silc_errno != SILC_ERR_NOT_FOUND)
+ goto err;
+ SILC_LOG_DEBUG(("Did not match (OK)"));
+
+ silc_regex_free(®);
+
success = TRUE;
err: