{
hook_t *ptr;
BUFFER command, pattern;
- int rc, not = 0;
+ int rc, neg = 0;
regex_t *rx = NULL;
pattern_t *pat = NULL;
char path[_POSIX_PATH_MAX];
if (*s->dptr == '!') {
s->dptr = vskipspaces(s->dptr + 1);
- not = 1;
+ neg = 1;
}
mutt_extract_token (&pattern, s, 0);
/* check to make sure that a matching hook doesn't already exist */
for (ptr = Hooks; ptr; ptr = ptr->next) {
if (ptr->type == (int)data &&
- ptr->rx.not == not && !m_strcmp(pattern.data, ptr->rx.pattern)) {
+ ptr->rx.neg == neg && !m_strcmp(pattern.data, ptr->rx.pattern)) {
if (data &
(M_FOLDERHOOK | M_SENDHOOK | M_SEND2HOOK | M_MESSAGEHOOK |
M_ACCOUNTHOOK | M_REPLYHOOK)) {
ptr->pattern = pat;
ptr->rx.pattern = pattern.data;
ptr->rx.rx = rx;
- ptr->rx.not = not;
+ ptr->rx.neg = neg;
return 0;
error:
continue;
if (tmp->type & M_FOLDERHOOK) {
- if ((regexec (tmp->rx.rx, path, 0, NULL, 0) == 0) ^ tmp->rx.not) {
+ if ((regexec (tmp->rx.rx, path, 0, NULL, 0) == 0) ^ tmp->rx.neg) {
if (mutt_parse_rc_line (tmp->command, &token, &err) == -1) {
mutt_error ("%s", err.data);
mutt_sleep (1); /* pause a moment to let the user see the error */
continue;
if (hook->type & type)
- if ((mutt_pattern_exec (hook->pattern, 0, ctx, hdr) > 0) ^ hook->rx.not)
+ if ((mutt_pattern_exec (hook->pattern, 0, ctx, hdr) > 0) ^ hook->rx.neg)
if (mutt_parse_rc_line (hook->command, &token, &err) != 0) {
mutt_error ("%s", err.data);
mutt_sleep (1);
continue;
if (hook->type & type)
- if ((mutt_pattern_exec (hook->pattern, 0, ctx, hdr) > 0) ^ hook->rx.not) {
+ if ((mutt_pattern_exec (hook->pattern, 0, ctx, hdr) > 0) ^ hook->rx.neg) {
mutt_make_string (path, pathlen, hook->command, ctx, hdr);
return 0;
}
for (; tmp; tmp = tmp->next) {
if ((tmp->type & hook)
- && ((match && regexec(tmp->rx.rx, match, 0, NULL, 0) == 0) ^ tmp->rx.not))
+ && ((match && regexec(tmp->rx.rx, match, 0, NULL, 0) == 0) ^ tmp->rx.neg))
return (tmp->command);
}
return (NULL);
if (!(hook->command && (hook->type & M_ACCOUNTHOOK)))
continue;
- if ((regexec (hook->rx.rx, url, 0, NULL, 0) == 0) ^ hook->rx.not) {
+ if ((regexec (hook->rx.rx, url, 0, NULL, 0) == 0) ^ hook->rx.neg) {
if (mutt_parse_rc_line (hook->command, &token, &err) == -1) {
mutt_error ("%s", err.data);
mutt_sleep (1);