deal with sendmail and dotlock in LUA.
[apps/madmutt.git] / lib-mx / mx.c
index 1caefe5..9c0221a 100644 (file)
 
 #include <utime.h>
 
+#include <lib-lua/lib-lua.h>
 #include <lib-sys/unix.h>
 #include <lib-mime/mime.h>
 #include <lib-ui/sidebar.h>
+#include <lib-crypt/crypt.h>
 
 #include "mutt.h"
 #include "pattern.h"
@@ -36,8 +38,6 @@
 #include <nntp/nntp.h>
 #endif
 
-#include <lib-crypt/crypt.h>
-
 static mx_t const *mxfmts[] = {
     &mbox_mx,
     &mmdf_mx,
@@ -61,17 +61,19 @@ static mx_t const *mxfmts[] = {
 static int invoke_dotlock (const char *path, int flags, int retry)
 {
   char cmd[LONG_STRING + _POSIX_PATH_MAX];
-  char f[SHORT_STRING + _POSIX_PATH_MAX];
-  char r[SHORT_STRING];
+  char f[STRING + _POSIX_PATH_MAX];
+  char r[STRING];
+  int pos;
 
   if (flags & DL_FL_RETRY)
     snprintf (r, sizeof (r), "-r %d ", retry ? MAXLOCKATTEMPT : 0);
 
   mutt_quote_filename (f, sizeof (f), path);
 
-  snprintf (cmd, sizeof (cmd),
-            "%s %s%s%s%s%s%s%s",
-            NONULL (MuttDotlock),
+  pos  = mlua_value(cmd, sizeof(cmd), "madmutt", "dotlock");
+
+  snprintf(cmd + pos, sizeof(cmd) - pos,
+            " %s%s%s%s%s%s%s",
             flags & DL_FL_TRY ? "-t " : "",
             flags & DL_FL_UNLOCK ? "-u " : "",
             flags & DL_FL_USEPRIV ? "-p " : "",
@@ -644,7 +646,7 @@ static int _mx_close_mailbox (CONTEXT * ctx, int *index_hint)
   int isSpool = 0;
   CONTEXT f;
   char mbox[_POSIX_PATH_MAX];
-  char buf[SHORT_STRING];
+  char buf[STRING];
 
   if (!ctx)
     return 0;
@@ -960,7 +962,7 @@ static int _mx_sync_mailbox (CONTEXT * ctx, int *index_hint)
   }
 
   if (ctx->deleted) {
-    char buf[SHORT_STRING];
+    char buf[STRING];
 
     snprintf (buf, sizeof (buf), ctx->deleted == 1
               ? _("Purge %d deleted message?") :