* dropsbr.c -- create/read/manipulate mail drops
*
* $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
*/
#include <h/nmh.h>
#ifndef MMDFONLY
# include <h/mh.h>
# include <h/dropsbr.h>
-# include <zotnet/mts/mts.h>
-# include <zotnet/tws/tws.h>
+# include <h/mts.h>
+# include <h/tws.h>
#else
# include "dropsbr.h"
# include "strings.h"
#include <fcntl.h>
-extern int errno;
-
/*
* static prototypes
*/
static int mbx_chk_mbox (int);
static int mbx_chk_mmdf (int);
-static int map_open (char *, int *, int);
+static int map_open (char *, int);
/*
register struct drop *dp;
struct drop d1, d2, *rp;
register FILE *fp;
+ struct stat st;
- if ((fd = map_open (file = map_name (mailbox), &clear, md)) == NOTOK)
+ if ((fd = map_open (file = map_name (mailbox), md)) == NOTOK)
return NOTOK;
+ if ((fstat (fd, &st) == OK) && (st.st_size > 0))
+ clear = 0;
+ else
+ clear = 1;
+
if (!clear && map_chk (file, fd, &d1, pos, noisy)) {
unlink (file);
mbx_close (file, fd);
- if ((fd = map_open (file, &clear, md)) == NOTOK)
+ if ((fd = map_open (file, md)) == NOTOK)
return NOTOK;
clear++;
}
return NOTOK;
case OK:
+ fclose (fp);
break;
default:
}
}
free ((char *) rp);
+ fclose (fp);
break;
}
}
static int
-map_open (char *file, int *clear, int md)
+map_open (char *file, int md)
{
mode_t mode;
struct stat st;