summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/bbsmail.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/util/bbsmail.c b/util/bbsmail.c
index a58d5763..2ca997b8 100644
--- a/util/bbsmail.c
+++ b/util/bbsmail.c
@@ -78,7 +78,7 @@ void str_decode_M3(unsigned char *str);
int mail2bbs(char *userid)
{
- int uid;
+ int uid, fd;
fileheader_t mymail;
char genbuf[512], title[512], sender[512], filename[512], *ip, *ptr;
time_t tmp_time;
@@ -156,9 +156,6 @@ int mail2bbs(char *userid)
if( strchr(sender, '@') == NULL ) /* ¥Ñ local host ±H«H */
strcat(sender, "@" MYHOSTNAME);
-/* allocate a file for the new mail */
- stampfile(filename, &mymail);
-
#ifdef HMM_USE_ANTI_SPAM
for (n = 0; notitle[n]; n++)
if (strstr(title, notitle[n]))
@@ -178,11 +175,9 @@ int mail2bbs(char *userid)
}
#endif
- if ((fout = fopen(filename, "w")) == NULL)
- {
- printf("Cannot open %s\n", filename);
+ if( (fd = stampfilefd(filename, &mymail)) == -1 ||
+ (fout = fdopen(fd, "wt")) == NULL )
return -1;
- }
if (!title[0])
sprintf(title, "¨Ó¦Û %.64s", sender);