relative the the home directory.
use: configure --with-homespool=FILE
])
- AC_DEFINE(USE_DOTLOCK,1,[ Define to use dotlocking for mailboxes. ])
mutt_cv_setgid=no
else
AC_ARG_WITH(mailpath, AC_HELP_STRING([--with-mailpath=DIR], [Directory where spool mailboxes are located]),
}], mutt_cv_worldwrite=yes, mutt_cv_worldwrite=no, mutt_cv_worldwrite=no)])
mutt_cv_setgid=no
- if test $mutt_cv_worldwrite = yes; then
- AC_DEFINE(USE_DOTLOCK,1,[ Define to use dotlocking for mailboxes. ])
- else
+ if test $mutt_cv_worldwrite != yes; then
AC_CACHE_CHECK(if $mutt_cv_mailpath is group writable, mutt_cv_groupwrite, [AC_TRY_RUN([#include <sys/types.h>
#include <sys/stat.h>
}], mutt_cv_groupwrite=yes, mutt_cv_groupwrite=no, mutt_cv_groupwrite=no)])
if test $mutt_cv_groupwrite = yes; then
- AC_DEFINE(USE_DOTLOCK,1,[ Define to use dotlocking for mailboxes. ])
AC_DEFINE(USE_SETGID,1,[ Define if mutt should run setgid "mail". ])
mutt_cv_setgid=yes
fi
# ifndef USE_GNUTLS
# define USE_GNUTLS
# endif
-# ifndef USE_DOTLOCK
-# define USE_DOTLOCK
-# endif
# ifndef USE_HCACHE
# define USE_HCACHE
# endif
** is viewed it is passed as standard input to $$display_filter, and the
** filtered message is read from the standard output.
*/
-#if defined(USE_DOTLOCK)
{"dotlock_program", DT_PATH, R_NONE, UL &MuttDotlock, "$madmutt_bindir/muttng_dotlock"},
/*
- ** .pp
- ** Availability: Dotlock
- **
** .pp
** Contains the path of the \fTmadmutt_dotlock(1)\fP binary to be used by
** Madmutt.
*/
-#endif
{"dsn_notify", DT_STR, R_NONE, UL &DsnNotify, ""},
/*
** .pp
#ifdef HAVE_LIBIDN
"idn",
#endif
-#ifdef USE_DOTLOCK
- "dotlock",
-#endif
#ifdef USE_NNTP
"nntp",
#endif
#else
"-USE_SETGID "
#endif
-#ifdef USE_DOTLOCK
- "+USE_DOTLOCK "
-#else
- "-USE_DOTLOCK "
-#endif
#ifdef USE_FCNTL
"+USE_FCNTL "
#else
#include "copy.h"
#include "keymap.h"
#include "compress.h"
+#include "dotlock.h"
#include <imap/imap.h>
#include <imap/mx_imap.h>
#include "nntp/mx_nntp.h"
#endif
-#ifdef USE_DOTLOCK
-#include "dotlock.h"
-#endif
-
#include <lib-crypt/crypt.h>
static mx_t const *mxfmts[] = {
#define MX_IDX(idx) (idx >= 0 && idx < countof(mxfmts))
#define mutt_is_spool(s) (m_strcmp(Spoolfile, s) == 0)
-#ifdef USE_DOTLOCK
/* parameters:
* path - file to lock
* retry - should retry if unable to lock?
*/
-
static int invoke_dotlock (const char *path, int flags, int retry)
{
char cmd[LONG_STRING + _POSIX_PATH_MAX];
DL_EX_OK ? 0 : -1);
}
-#endif /* USE_DOTLOCK */
-
/* looks up index of type for path in mxfmts */
static int mx_get_idx (const char* path) {
int i = 0, t = 0;
}
#endif /* USE_FLOCK */
-#ifdef USE_DOTLOCK
if (r == 0 && dot)
r = dotlock_file (path, time_out);
-#endif /* USE_DOTLOCK */
if (r == -1) {
/* release any other locks obtained in this routine */
flock (fd, LOCK_UN);
#endif
-#ifdef USE_DOTLOCK
if (dot)
undotlock_file (path);
-#endif
return 0;
}
static void mx_unlink_empty (const char *path)
{
int fd;
-
-#ifndef USE_DOTLOCK
struct stat sb;
-#endif
if ((fd = open (path, O_RDWR)) == -1)
return;
return;
}
-#ifdef USE_DOTLOCK
- invoke_dotlock (path, DL_FL_UNLINK, 1);
-#else
- if (fstat (fd, &sb) == 0 && sb.st_size == 0)
- unlink (path);
-#endif
+ invoke_dotlock(path, DL_FL_UNLINK, 1);
mx_unlock_file (path, fd, 0);
close (fd);