I checked all the permissions and everything seems ok. this is truly
baffling. I took a look at the code, and it's pretty clear that the
only way that it doesn't work is if tmpfile() fails. I wrote this
program to test tmpfile and fileno:
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
FILE *stream;
stream = tmpfile();
if( stream != NULL ) {
printf( "File number is %d.\n", fileno( stream ) );
fclose( stream );
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
}
and it works perfectly, returning 3 everytime. For the life of me i
can't figure out what it is.
I'm pondering just rebuilding it and upping the threshold for when it
writes to a tmpfile.
Also, I am running it with courier. I read something about rather than
piping the program into maildrop, courier can automagically pass it a
handle to the mail in the queue. If so, how would i go about doing
this? Right now I have
DEFAULTDELIVERY="| /usr/local/bin/maildrop"
I don't have a .courier file, and maildrop reads from
/usr/local/etc/maildroprc
Thanks,
Anoop
On Monday, February 3, 2003, at 11:06 PM, Sam Varshavchik wrote:
Anoop Ranganath writes:
I verified that there is only one maildrop on my system. I looked at
configure and then the Makefile for maildrop, and it looks ok.
TMDIR = use tmpfile()
is the relavant line from Makefile. I believe that it is correct.
Still confused as to what the problem is.
Your tmpfile() system call is failing. Check the permissions on your
/tmp or /var/tmp directory, or where your tmpfile() creates temporary
files.