Compare commits
2 Commits
13a150d682
...
8f2fbcdb2b
Author | SHA1 | Date | |
---|---|---|---|
8f2fbcdb2b | |||
01d82b8fca |
@ -121,7 +121,7 @@ typedef struct {
|
||||
int flags;
|
||||
int state;
|
||||
int width;
|
||||
int width2;
|
||||
int match_width;
|
||||
char * whitelist;
|
||||
char * blacklist;
|
||||
} compiler_state;
|
||||
@ -148,7 +148,7 @@ void HOOK_ALL(const int from,
|
||||
.input = *s,
|
||||
.to = ASSERT_HALT(to),
|
||||
.pattern_width = cs->width,
|
||||
.match_width = cs->width2,
|
||||
.match_width = cs->match_width,
|
||||
};
|
||||
vector_push(®ex->delta_table,
|
||||
&delta);
|
||||
@ -504,7 +504,7 @@ regex_t * regex_compile(const char * const pattern) {
|
||||
blacklist[0] = '\0';
|
||||
cs.flags &= (IS_AT_THE_BEGINNING | FORCE_START_OF_STRING);
|
||||
cs.width = 1;
|
||||
cs.width2 = 1;
|
||||
cs.match_width = 1;
|
||||
|
||||
// Translate char
|
||||
switch (*s) {
|
||||
@ -572,7 +572,7 @@ regex_t * regex_compile(const char * const pattern) {
|
||||
// ---
|
||||
++cs.state;
|
||||
cs.width = 0;
|
||||
cs.width2 = 0;
|
||||
cs.match_width = 0;
|
||||
HOOK_ALL(0, whitelist, +1, &cs, regex);
|
||||
cs.width = 1;
|
||||
OFFSHOOT(0, +1, 1, 0, &cs, regex);
|
||||
|
@ -117,12 +117,11 @@ signed main() {
|
||||
|
||||
puts("");
|
||||
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "908", false);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/*908*/", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/*asd*/", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/* 908 */", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/* asd */", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/* as\nd */", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "908", false);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/*908*/", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/*asd*/", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/* asd */", true);
|
||||
TEST(R"del(/\*[\d\D]*\*/)del", "/* as* */", true);
|
||||
|
||||
if (test_counter == passed_tests) {
|
||||
fputs("\033[32m", stdout);
|
||||
|
@ -23,7 +23,7 @@ void asprint_match_t( char * * destination,
|
||||
static
|
||||
void print_leader(const bool passed, const int n) {
|
||||
if (passed) {
|
||||
printf("\033[32;1mSuccess\033[0m. %02d\033[1m - \033[0m", n);
|
||||
printf("\033[32;1mSuccess\033[0m. %02d\033[1m - \033[0m", n);
|
||||
} else {
|
||||
printf("\033[31;1mFailure\033[0m. %02d\033[1m - \033[0m", n);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user