#include <lib-lib/lib-lib.h>
#include <lib-lua/lib-lua.h>
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
#include <lib-mx/mx.h>
#include <lib-mx/compress.h>
goto error;
}
- mutt_extract_token (&command, s,
- (data &
- (M_FOLDERHOOK | M_SENDHOOK | M_SEND2HOOK |
- M_ACCOUNTHOOK | M_REPLYHOOK)) ? M_TOKEN_SPACE : 0);
+ mutt_extract_token(&command, s, (data & (M_FOLDERHOOK | M_SENDHOOK |
+ M_SEND2HOOK | M_REPLYHOOK)) ?
+ M_TOKEN_SPACE : 0);
if (!command.data) {
m_strcpy(err->data, err->dsize, _("too few arguments"));
return (-1);
}
}
- else if (DefaultHook && !(data & M_ACCOUNTHOOK) && !(data & M_CRYPTHOOK))
+ else if (DefaultHook && !(data & M_CRYPTHOOK))
{
char tmp[HUGE_STRING];
for (ptr = Hooks; ptr; ptr = ptr->next) {
if (ptr->type == (int)data &&
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)) {
+ if (data & (M_FOLDERHOOK | M_SENDHOOK | M_SEND2HOOK | M_MESSAGEHOOK |
+ 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 */
p_delete(&pattern.data);
return 0;
}
- }
- else {
+ } else {
/* other hooks only allow one command per pattern, so update the
* entry with the new command. this currently does not change the
* order of execution of the hooks, which i think is desirable since
break;
}
- if (data &
- (M_SENDHOOK | M_SEND2HOOK | M_SAVEHOOK | M_FCCHOOK | M_MESSAGEHOOK |
- M_REPLYHOOK)) {
+ if (data & (M_SENDHOOK | M_SEND2HOOK | M_SAVEHOOK | M_FCCHOOK |
+ M_MESSAGEHOOK | M_REPLYHOOK))
+ {
if ((pat =
mutt_pattern_comp (pattern.data,
(data & (M_SENDHOOK | M_SEND2HOOK | M_FCCHOOK)) ?
0 : M_FULL_MSG, err)) == NULL)
goto error;
- }
- else {
+ } else {
rx = p_new(regex_t, 1);
-#ifdef M_CRYPTHOOK
if ((rc = REGCOMP(rx, NONULL(pattern.data),
((data & M_CRYPTHOOK) ? REG_ICASE : 0))) != 0)
{
p_delete(&rx);
goto error;
}
-#endif /* M_CRYPTHOOK */
}
if (ptr) {
ptr->next = p_new(hook_t, 1);
ptr = ptr->next;
- }
- else
+ } else {
Hooks = ptr = p_new(hook_t, 1);
+ }
ptr->type = data;
ptr->command = command.data;
ptr->pattern = pat;
{
lua_State *L = luaM_getruntime();
- lua_getfield(L, LUA_GLOBALSINDEX, "MCore");
+ lua_getfield(L, LUA_GLOBALSINDEX, "mod_core");
lua_getfield(L, -1, "folder_hook");
lua_remove(L, -2);
if (lua_isfunction(L, -1)) {
void mutt_select_fcc (char *path, ssize_t pathlen, HEADER * hdr)
{
- address_t *adr;
- char buf[_POSIX_PATH_MAX];
- ENVELOPE *env = hdr->env;
-
- if (mutt_addr_hook (path, pathlen, M_FCCHOOK, NULL, hdr) != 0) {
- if ((option (OPTSAVENAME) || option (OPTFORCENAME)) &&
- (env->to || env->cc || env->bcc)) {
- adr = env->to ? env->to : (env->cc ? env->cc : env->bcc);
- mutt_safe_path (buf, sizeof (buf), adr);
- mutt_concat_path(path, pathlen, NONULL(Maildir), buf);
- if (!option (OPTFORCENAME) && mx_access (path, W_OK) != 0)
+ if (mutt_addr_hook (path, pathlen, M_FCCHOOK, NULL, hdr) != 0) {
m_strcpy(path, pathlen, NONULL(MAlias.record));
}
- else
- m_strcpy(path, pathlen, NONULL(MAlias.record));
- }
- mutt_pretty_mailbox (path);
+ mutt_pretty_mailbox (path);
}
static const char *_mutt_string_hook (const char *match, int hook)
{
return _mutt_string_hook (adr->mailbox, M_CRYPTHOOK);
}
-
-void mutt_account_hook (const char *url)
-{
- hook_t *hook;
- BUFFER token;
- BUFFER err;
- char buf[STRING];
-
- err.data = buf;
- err.dsize = sizeof (buf);
- p_clear(&token, 1);
-
- for (hook = Hooks; hook; hook = hook->next) {
- if (!(hook->command && (hook->type & M_ACCOUNTHOOK)))
- continue;
-
- 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);
- }
- }
- }
-
- p_delete(&token.data);
-}