- if (!ptr->pattern || mutt_strcmp (ptr->pattern, tmp->data) != 0)
- {
- int not = 0;
-
- /* $alternates is case-insensitive,
- $mask is case-sensitive */
- if (mutt_strcmp (MuttVars[idx].option, "alternates") == 0)
- flags |= REG_ICASE;
- else if (mutt_strcmp (MuttVars[idx].option, "mask") != 0)
- flags |= mutt_which_case (tmp->data);
-
- p = tmp->data;
- if (mutt_strcmp (MuttVars[idx].option, "mask") == 0)
- {
- if (*p == '!')
- {
- not = 1;
- p++;
- }
- }
-
- rx = (regex_t *) safe_malloc (sizeof (regex_t));
- if ((e = REGCOMP (rx, p, flags)) != 0)
- {
- regerror (e, rx, err->data, err->dsize);
- regfree (rx);
- FREE (&rx);
- break;
- }
-
- /* get here only if everything went smootly */
- if (ptr->pattern)
- {
- FREE (&ptr->pattern);
- regfree ((regex_t *) ptr->rx);
- FREE (&ptr->rx);
- }
-
- ptr->pattern = safe_strdup (tmp->data);
- ptr->rx = rx;
- ptr->not = not;
-
- /* $reply_regexp and $alterantes require special treatment */
-
- if (Context && Context->msgcount &&
- mutt_strcmp (MuttVars[idx].option, "reply_regexp") == 0)
- {
- regmatch_t pmatch[1];
- int i;
-
+ if (!ptr->pattern || safe_strcmp (ptr->pattern, tmp->data) != 0) {
+ int not = 0;
+
+ /* $mask is case-sensitive */
+ if (safe_strcmp (MuttVars[idx].option, "mask") != 0)
+ flags |= mutt_which_case (tmp->data);
+
+ p = tmp->data;
+ if (safe_strcmp (MuttVars[idx].option, "mask") == 0) {
+ if (*p == '!') {
+ not = 1;
+ p++;
+ }
+ }
+
+ rx = (regex_t *) safe_malloc (sizeof (regex_t));
+ if ((e = REGCOMP (rx, p, flags)) != 0) {
+ regerror (e, rx, err->data, err->dsize);
+ regfree (rx);
+ FREE (&rx);
+ break;
+ }
+
+ /* get here only if everything went smootly */
+ if (ptr->pattern) {
+ FREE (&ptr->pattern);
+ regfree ((regex_t *) ptr->rx);
+ FREE (&ptr->rx);
+ }
+
+ ptr->pattern = safe_strdup (tmp->data);
+ ptr->rx = rx;
+ ptr->not = not;
+
+ /* $reply_regexp and $alterantes require special treatment */
+
+ if (Context && Context->msgcount &&
+ safe_strcmp (MuttVars[idx].option, "reply_regexp") == 0) {
+ regmatch_t pmatch[1];
+ int i;
+