X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=hook.c;h=d574bc6232e5dc68f12feb01df988eda3f568ce4;hp=6c4c83b67c4af29e620cf5261c98ad2714c8cc46;hb=2743a22ef30aff197b866b9e3547ac429920f6d9;hpb=74a2265af51ce89bca845adc1d68f273c9933c13 diff --git a/hook.c b/hook.c index 6c4c83b..d574bc6 100644 --- a/hook.c +++ b/hook.c @@ -12,7 +12,7 @@ #endif #include "mutt.h" -#include "mailbox.h" +#include "mx.h" #include "mutt_crypt.h" #ifdef USE_COMPRESSED @@ -22,6 +22,7 @@ #include "lib/mem.h" #include "lib/intl.h" #include "lib/str.h" +#include "lib/rx.h" #include #include @@ -31,7 +32,7 @@ typedef struct hook { int type; /* hook type */ - REGEXP rx; /* regular expression */ + rx_t rx; /* regular expression */ char *command; /* filename, command or pattern to execute */ pattern_t *pattern; /* used for fcc,save,send-hook */ struct hook *next; @@ -120,14 +121,14 @@ int mutt_parse_hook (BUFFER * buf, BUFFER * s, unsigned long data, /* check to make sure that a matching hook doesn't already exist */ for (ptr = Hooks; ptr; ptr = ptr->next) { if (ptr->type == data && - ptr->rx.not == not && !mutt_strcmp (pattern.data, ptr->rx.pattern)) { + ptr->rx.not == not && !safe_strcmp (pattern.data, ptr->rx.pattern)) { if (data & (M_FOLDERHOOK | M_SENDHOOK | M_SEND2HOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK)) { /* these hooks allow multiple commands with the same * pattern, so if we've already seen this pattern/command pair, just * ignore it instead of creating a duplicate */ - if (!mutt_strcmp (ptr->command, command.data)) { + if (!safe_strcmp (ptr->command, command.data)) { FREE (&command.data); FREE (&pattern.data); return 0; @@ -239,7 +240,7 @@ int mutt_parse_unhook (BUFFER * buf, BUFFER * s, unsigned long data, { while (MoreArgs (s)) { mutt_extract_token (buf, s, 0); - if (mutt_strcmp ("*", buf->data) == 0) { + if (safe_strcmp ("*", buf->data) == 0) { if (current_hook_type) { snprintf (err->data, err->dsize, _("unhook: Can't do unhook * from within a hook."));