Andreas Krennmair:
[apps/madmutt.git] / hook.c
diff --git a/hook.c b/hook.c
index d7931c0..12d455f 100644 (file)
--- a/hook.c
+++ b/hook.c
 #include "mailbox.h"
 #include "mutt_crypt.h"
 
+#ifdef USE_COMPRESSED
+#include "compress.h"
+#endif
+
 #include <limits.h>
 #include <string.h>
 #include <stdlib.h>
@@ -88,6 +92,16 @@ int mutt_parse_hook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
     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))
       )
@@ -256,8 +270,7 @@ int mutt_parse_unhook (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
       }
       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;
       }