projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed unused and not compiling program wmh.
[mmh]
/
uip
/
dropsbr.c
diff --git
a/uip/dropsbr.c
b/uip/dropsbr.c
index
6089a22
..
76bc00d
100644
(file)
--- a/
uip/dropsbr.c
+++ b/
uip/dropsbr.c
@@
-2,21
+2,18
@@
/*
* dropsbr.c -- create/read/manipulate mail drops
*
/*
* 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>
*/
#include <h/nmh.h>
+#include <h/utils.h>
-#ifndef MMDFONLY
-# include <h/mh.h>
-# include <h/dropsbr.h>
-# include <zotnet/mts/mts.h>
-# include <h/tws.h>
-#else
-# include "dropsbr.h"
-# include "strings.h"
-# include "mmdfonly.h"
-#endif
+#include <h/mh.h>
+#include <h/dropsbr.h>
+#include <h/mts.h>
+#include <h/tws.h>
#ifdef HAVE_ERRNO_H
# include <errno.h>
#ifdef HAVE_ERRNO_H
# include <errno.h>
@@
-31,14
+28,12
@@
#include <fcntl.h>
#include <fcntl.h>
-extern int errno;
-
/*
* static prototypes
*/
static int mbx_chk_mbox (int);
static int mbx_chk_mmdf (int);
/*
* 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);
/*
/*
@@
-222,14
+217,8
@@
mbx_read (FILE *fp, long pos, struct drop **drops, int noisy)
if (dp >= ep) {
register int curlen = dp - pp;
if (dp >= ep) {
register int curlen = dp - pp;
- cp = (struct drop *) realloc ((char *) pp,
+ cp = (struct drop *) mh_xrealloc ((char *) pp,
(size_t) (len += MAXFOLDER) * sizeof(*pp));
(size_t) (len += MAXFOLDER) * sizeof(*pp));
- if (cp == NULL) {
- if (noisy)
- admonish (NULL, "unable to allocate drop storage");
- free ((char *) pp);
- return 0;
- }
dp = cp + curlen, ep = (pp = cp) + len - 1;
}
}
dp = cp + curlen, ep = (pp = cp) + len - 1;
}
}
@@
-385,7
+374,7
@@
mbx_copy (char *mailbox, int mbx_style, int md, int fd,
fp = strchr(ep + 1, '\n');
tp = dctime(dlocaltimenow());
snprintf (buffer, sizeof(buffer), "From %.*s %s",
fp = strchr(ep + 1, '\n');
tp = dctime(dlocaltimenow());
snprintf (buffer, sizeof(buffer), "From %.*s %s",
- fp - ep, ep, tp);
+ (int)(fp - ep), ep, tp);
} else if (!strncmp (buffer, "X-Envelope-From:", 16)) {
/*
* Change the "X-Envelope-From:" field
} else if (!strncmp (buffer, "X-Envelope-From:", 16)) {
/*
* Change the "X-Envelope-From:" field
@@
-478,8
+467,9
@@
mbx_size (int md, off_t start, off_t stop)
int
mbx_close (char *mailbox, int md)
{
int
mbx_close (char *mailbox, int md)
{
- lkclose (md, mailbox);
- return OK;
+ if (lkclose (md, mailbox) == 0)
+ return OK;
+ return NOTOK;
}
}
@@
-497,10
+487,10
@@
map_name (char *file)
if ((dp = strchr(cp = r1bindex (file, '/'), '.')) == NULL)
dp = cp + strlen (cp);
if (cp == file)
if ((dp = strchr(cp = r1bindex (file, '/'), '.')) == NULL)
dp = cp + strlen (cp);
if (cp == file)
- snprintf (buffer, sizeof(buffer), ".%.*s%s", dp - cp, cp, ".map");
+ snprintf (buffer, sizeof(buffer), ".%.*s%s", (int)(dp - cp), cp, ".map");
else
snprintf (buffer, sizeof(buffer), "%.*s.%.*s%s",
else
snprintf (buffer, sizeof(buffer), "%.*s.%.*s%s",
- cp - file, file, dp - cp, cp, ".map");
+ (int)(cp - file), file, (int)(dp - cp), cp, ".map");
return buffer;
}
return buffer;
}
@@
-565,14
+555,20
@@
map_write (char *mailbox, int md, int id, long last, off_t start,
register struct drop *dp;
struct drop d1, d2, *rp;
register FILE *fp;
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;
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 (!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;
clear++;
}
@@
-594,6
+590,7
@@
map_write (char *mailbox, int md, int id, long last, off_t start,
return NOTOK;
case OK:
return NOTOK;
case OK:
+ fclose (fp);
break;
default:
break;
default:
@@
-611,6
+608,7
@@
map_write (char *mailbox, int md, int id, long last, off_t start,
}
}
free ((char *) rp);
}
}
free ((char *) rp);
+ fclose (fp);
break;
}
}
break;
}
}
@@
-651,7
+649,7
@@
map_write (char *mailbox, int md, int id, long last, off_t start,
static int
static int
-map_open (char *file, int *clear, int md)
+map_open (char *file, int md)
{
mode_t mode;
struct stat st;
{
mode_t mode;
struct stat st;