diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/bbsmail.c | 11 |
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); |