projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Nico Golde:
[apps/madmutt.git]
/
hook.c
diff --git
a/hook.c
b/hook.c
index
d7931c0
..
74b2f5d
100644
(file)
--- a/
hook.c
+++ b/
hook.c
@@
-16,10
+16,18
@@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include "mutt.h"
#include "mailbox.h"
#include "mutt_crypt.h"
#include "mutt.h"
#include "mailbox.h"
#include "mutt_crypt.h"
+#ifdef USE_COMPRESSED
+#include "compress.h"
+#endif
+
#include <limits.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include <stdlib.h>
@@
-66,7
+74,7
@@
int mutt_parse_hook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
goto error;
}
goto error;
}
- mutt_extract_token (&command, s, (data & (M_FOLDERHOOK | M_SENDHOOK | M_ACCOUNTHOOK | M_REPLYHOOK)) ? M_TOKEN_SPACE : 0);
+ mutt_extract_token (&command, s, (data & (M_FOLDERHOOK | M_SENDHOOK | M_
SEND2HOOK | M_
ACCOUNTHOOK | M_REPLYHOOK)) ? M_TOKEN_SPACE : 0);
if (!command.data)
{
if (!command.data)
{
@@
-88,6
+96,16
@@
int mutt_parse_hook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
memset (&pattern, 0, sizeof (pattern));
pattern.data = safe_strdup (path);
}
memset (&pattern, 0, sizeof (pattern));
pattern.data = safe_strdup (path);
}
+#ifdef USE_COMPRESSED
+ else if (data & (M_APPENDHOOK | M_OPENHOOK | M_CLOSEHOOK))
+ {
+ if (mutt_test_compress_command (command.data))
+ {
+ strfcpy (err->data, _("bad formatted command string"), err->dsize);
+ return (-1);
+ }
+ }
+#endif
else if (DefaultHook && !(data & (M_CHARSETHOOK | M_ACCOUNTHOOK))
&& (!WithCrypto || !(data & M_CRYPTHOOK))
)
else if (DefaultHook && !(data & (M_CHARSETHOOK | M_ACCOUNTHOOK))
&& (!WithCrypto || !(data & M_CRYPTHOOK))
)
@@
-117,7
+135,7
@@
int mutt_parse_hook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
ptr->rx.not == not &&
!mutt_strcmp (pattern.data, ptr->rx.pattern))
{
ptr->rx.not == not &&
!mutt_strcmp (pattern.data, ptr->rx.pattern))
{
- if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK))
+ 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
{
/* these hooks allow multiple commands with the same
* pattern, so if we've already seen this pattern/command pair, just
@@
-146,10
+164,10
@@
int mutt_parse_hook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
break;
}
break;
}
- if (data & (M_SENDHOOK | M_SAVEHOOK | M_FCCHOOK | M_MESSAGEHOOK | M_REPLYHOOK))
+ if (data & (M_SENDHOOK | M_S
END2HOOK | M_S
AVEHOOK | M_FCCHOOK | M_MESSAGEHOOK | M_REPLYHOOK))
{
if ((pat = mutt_pattern_comp (pattern.data,
{
if ((pat = mutt_pattern_comp (pattern.data,
- (data & (M_SENDHOOK | M_FCCHOOK)) ? 0 : M_FULL_MSG,
+ (data & (M_SENDHOOK | M_
SEND2HOOK | M_
FCCHOOK)) ? 0 : M_FULL_MSG,
err)) == NULL)
goto error;
}
err)) == NULL)
goto error;
}
@@
-256,8
+274,7
@@
int mutt_parse_unhook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
}
if (current_hook_type == type)
{
}
if (current_hook_type == type)
{
- snprintf (err->data, err->dsize,
- _("unhook: Can't delete a %s from within a %s."),
+ snprintf (err->data, err->dsize, _("unhook: Can't delete a %s from within a %s."),
buf->data, buf->data);
return -1;
}
buf->data, buf->data);
return -1;
}