I have a fix for this in 4.10.18.

In configure.in around line 792
AC_CHECK_FUNCS(getcwd mkdir strdup strstr fdatasync )

This will create a #define HAVE_FDATASYNC 1
in config.h if it is on the system.

Then in vdelivermail.c around line 538:

#ifdef HAVE_FDATASYNC
        if ( fdatasync(write_fd) == 0
#else
        if ( fsync(write_fd) == 0
#endif
             && close(write_fd) == 0 ) {

If you want to test it, you can pick up a copy from:
http://www.inter7.com/vpopmail/vpopmail-4.10.18.tar.gz

Ken

Marcus Williams wrote:
> 
> Hi -
> 
> I dont think FreeBSD has an fdatasync() function but you can replace
> this call directly for an fsync() function call (although it is
> slightly slower). Just change the word fdatasync to fsync.
> 
> Marcus
> 
> > -----Original Message-----
> > From: Ryan Duda [mailto:[EMAIL PROTECTED]]
> > Subject: Problems Compiling 4.10.17.
> >
> >
> > Under FreeBSD 4.3-S
> >
> > gcc -I. -I/usr/local/include/mysql     -g -O2 -Wall -c
> > vdelivermail.c
> > vdelivermail.c: In function `deliver_mail':
> > vdelivermail.c:454: warning: long unsigned int format,
> > unsigned int arg (arg 4)
> > vdelivermail.c:454: warning: long unsigned int format,
> > different type arg
> > (arg 7)
> > vdelivermail.c:456: warning: long unsigned int format,
> > unsigned int arg (arg 4)
> > vdelivermail.c:456: warning: long unsigned int format,
> > different type arg
> > (arg 7)
> > vdelivermail.c:536: warning: implicit declaration of
> > function `fdatasync'
> [snip]

Reply via email to