diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-05-24 17:37:47 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-05-24 17:37:47 +0800 |
commit | f03d0717f20d47251703d880fd6b487abefcef67 (patch) | |
tree | afd734943308ab168137d5d1f1a3965822aa3f8f | |
parent | ae18d6ceb1b44fdd6178844eb04ac8816038ea50 (diff) | |
download | pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.tar pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.tar.gz pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.tar.bz2 pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.tar.lz pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.tar.xz pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.tar.zst pttbbs-f03d0717f20d47251703d880fd6b487abefcef67.zip |
discard 1998
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2019 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | include/proto.h | 1 | ||||
-rw-r--r-- | mbbsd/record.c | 31 | ||||
-rw-r--r-- | util/bbsmail.c | 11 |
3 files changed, 8 insertions, 35 deletions
diff --git a/include/proto.h b/include/proto.h index a3e6c557..fb1c75a1 100644 --- a/include/proto.h +++ b/include/proto.h @@ -425,7 +425,6 @@ int get_record_keep(char *fpath, void *rptr, int size, int id, int *fd); void prints(char *fmt, ...) GCC_CHECK_FORMAT(1,2); int append_record(char *fpath, fileheader_t *record, int size); int stampfile(char *fpath, fileheader_t *fh); -int stampfilefd(char *fpath, fileheader_t *fh); void stampdir(char *fpath, fileheader_t *fh); int get_num_records(char *fpath, int size); int get_records(char *fpath, void *rptr, int size, int id, int number); diff --git a/mbbsd/record.c b/mbbsd/record.c index d50fb611..c8393f6f 100644 --- a/mbbsd/record.c +++ b/mbbsd/record.c @@ -474,37 +474,6 @@ stampfile(char *fpath, fileheader_t * fh) return 0; } -int -stampfilefd(char *fpath, fileheader_t * fh) -{ - char *ip = fpath; - time_t dtime = COMMON_TIME; - struct tm *ptime; - int fd; - - if (access(fpath, X_OK | R_OK | W_OK)) - mkdir(fpath, 0755); - - while (*(++ip)) - ; - *ip++ = '/'; - - while( 1 ) { - sprintf(ip, "M.%d.A.%3.3X", (int)++dtime, rand() & 0xFFF); - if( (fd = open(fpath, O_CREAT | O_EXCL | O_WRONLY, 0644)) != -1 ) - break; - if( errno != EEXIST ) - return -1; - } - - memset(fh, 0, sizeof(fileheader_t)); - strlcpy(fh->filename, ip, sizeof(fh->filename)); - ptime = localtime(&dtime); - snprintf(fh->date, sizeof(fh->date), - "%2d/%02d", ptime->tm_mon + 1, ptime->tm_mday); - return fd; -} - void stampdir(char *fpath, fileheader_t * fh) { diff --git a/util/bbsmail.c b/util/bbsmail.c index 24065ef1..dd015099 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, fd; + int uid; fileheader_t mymail; char genbuf[512], title[512], sender[512], filename[512], *ip, *ptr; time_t tmp_time; @@ -156,6 +156,9 @@ 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])) @@ -175,9 +178,11 @@ int mail2bbs(char *userid) } #endif - if( (fd = stampfilefd(filename, &mymail)) == -1 || - (fout = fdopen(fd, "wt")) == NULL ) + if ((fout = fopen(filename, "w")) == NULL) + { + printf("Cannot open %s\n", filename); return -1; + } if (!title[0]) sprintf(title, "¨Ó¦Û %.64s", sender); |