79 |
unsigned int row = 0; |
unsigned int row = 0; |
80 |
char line[LINE_MAX]; |
char line[LINE_MAX]; |
81 |
regex_t creg[13]; |
regex_t creg[13]; |
82 |
regmatch_t match[9]; |
regmatch_t match[11]; |
83 |
const char *reg[13] = { |
const char *reg[13] = { |
84 |
"^([[:blank:]]*\n|#.*\n)$", |
"^([[:blank:]]*\n|#.*\n)$", |
85 |
|
|
101 |
"(\"[[:print:]]*\"|[[:graph:]]+)|" |
"(\"[[:print:]]*\"|[[:graph:]]+)|" |
102 |
"RMOVE[[:blank:]]+([[:alnum:]_-]+)[[:blank:]]+" |
"RMOVE[[:blank:]]+([[:alnum:]_-]+)[[:blank:]]+" |
103 |
"(\"[[:print:]]*\"|[[:graph:]]+)|" |
"(\"[[:print:]]*\"|[[:graph:]]+)|" |
104 |
|
"FLAG[[:blank:]]+(REPLACE|ADD|REMOVE)[[:blank:]]+" |
105 |
|
"([[:alpha:],]+)|" |
106 |
"LIST)[[:blank:]]*([[:graph:]]*)[[:blank:]]*\n$", |
"LIST)[[:blank:]]*([[:graph:]]*)[[:blank:]]*\n$", |
107 |
|
|
108 |
"^[[:blank:]]*(MASK[[:blank:]])?[[:blank:]]*(OR[[:blank:]]|" |
"^[[:blank:]]*(MASK[[:blank:]])?[[:blank:]]*(OR[[:blank:]]|" |
151 |
r = set_mboxgrp(line, match); |
r = set_mboxgrp(line, match); |
152 |
else if (!regexec(&creg[3], line, 3, match, 0)) |
else if (!regexec(&creg[3], line, 3, match, 0)) |
153 |
r = set_filter(line, match); |
r = set_filter(line, match); |
154 |
else if (!regexec(&creg[4], line, 9, match, 0)) |
else if (!regexec(&creg[4], line, 11, match, 0)) |
155 |
r = set_action(line, match); |
r = set_action(line, match); |
156 |
else if (!regexec(&creg[5], line, 7, match, 0) || |
else if (!regexec(&creg[5], line, 7, match, 0) || |
157 |
!regexec(&creg[6], line, 7, match, 0) || |
!regexec(&creg[6], line, 7, match, 0) || |