summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/board.c54
-rw-r--r--mbbsd/cache.c164
-rw-r--r--mbbsd/edit.c5
-rw-r--r--mbbsd/more.c6
-rw-r--r--mbbsd/voteboard.c5
5 files changed, 6 insertions, 228 deletions
diff --git a/mbbsd/board.c b/mbbsd/board.c
index 59dbd68a..350a482d 100644
--- a/mbbsd/board.c
+++ b/mbbsd/board.c
@@ -1,4 +1,4 @@
-/* $Id: board.c,v 1.52 2002/08/19 14:53:05 in2 Exp $ */
+/* $Id: board.c,v 1.53 2002/08/20 02:42:36 in2 Exp $ */
#include "bbs.h"
#define BRC_STRLEN 15 /* Length of board name */
#define BRC_MAXSIZE 24576
@@ -235,18 +235,11 @@ init_brdbuf()
/* MAXBOARDS ==> 至多看得見 32 個新板 */
n = numboards + 32;
size = n * sizeof(int);
-#ifdef OUTTA_CACHE
- zapbuf = (int *)outta_malloc(size, 'z');
- favbuf = (int *)outta_malloc(size + sizeof(int), 'f');
-#else
zapbuf = (int *)malloc(size);
favbuf = (int *)malloc(size + sizeof(int));
-#endif
-#if 0
favbuf[0] = 0x5c4d3e; /* for check memory */
++favbuf;
-#endif
memset(favbuf, 0, size);
@@ -266,11 +259,6 @@ init_brdbuf()
favbuf[n] &= ~BRD_TAG;
brc_expire_time = login_start_time - 365 * 86400;
-
-#ifdef OUTTA_CACHE
- outta_swapout((void **)&favbuf);
- outta_swapout((void **)&zapbuf);
-#endif
}
void
@@ -282,10 +270,7 @@ save_brdbuf()
if ( reentrant )
return;
reentrant = 1;
-#ifdef OUTTA_CACHE
- outta_swapin((void **)&favbuf, 'f');
- outta_swapin((void **)&zapbuf, 'z');
-#endif
+
if (!zapbuf)
return;
setuserfile(fname, STR_BBSRC);
@@ -294,14 +279,12 @@ save_brdbuf()
write(fd, zapbuf, size);
close(fd);
}
-#if 0
if (favbuf[-1] != 0x5c4d3e) {
FILE *fp = fopen(BBSHOME "/log/memorybad", "a");
fprintf(fp, "%s %s %d\n", cuser.userid, Cdatelite(&now), favbuf[-1]);
fclose(fp);
return;
}
-#endif
setuserfile(fname, STR_FAV);
if ((fd = open(fname, O_WRONLY | O_CREAT, 0600)) != -1) {
size = numboards * sizeof(int);
@@ -468,11 +451,7 @@ load_boards(char *key)
brdnum = 0;
if (class_bid <= 0) {
nbrdlength = numboards * sizeof(boardstat_t);
-#ifdef OUTTA_CACHE
- nbrd = (boardstat_t *) outta_malloc(nbrdlength, 'b');
-#else
nbrd = (boardstat_t *) malloc(nbrdlength);
-#endif
for (i = 0; i < numboards; i++) {
if ((bptr = SHM->bsorted[type][i]) == NULL)
continue;
@@ -491,11 +470,7 @@ load_boards(char *key)
}
} else {
nbrdlength = bptr->childcount * sizeof(boardstat_t);
-#ifdef OUTTA_CACHE
- nbrd = (boardstat_t *) outta_malloc(nbrdlength, 'b');
-#else
nbrd = (boardstat_t *) malloc(nbrdlength);
-#endif
for (bptr = bptr->firstchild[type]; bptr != (boardheader_t *) ~ 0;
bptr = bptr->next[type]) {
n = (int)(bptr - bcache);
@@ -738,14 +713,6 @@ choose_board(int newflag)
char genbuf[200];
#endif
-#ifdef OUTTA_CACHE
- static char depth = 0;
- ++depth;
- if( favbuf == NULL )
- outta_swapin((void **)&favbuf, 'f');
- if( zapbuf == NULL )
- outta_swapin((void **)&zapbuf, 'z');
-#endif
setutmpmode(newflag ? READNEW : READBRD);
brdnum = 0;
if (!cuser.userlevel) /* guest yank all boards */
@@ -1054,18 +1021,7 @@ choose_board(int newflag)
board_visit_time = zapbuf[ptr->bid - 1];
if (!(ptr->myattr & BRD_ZAP))
zapbuf[ptr->bid - 1] = now;
-#ifdef OUTTA_CACHE
- outta_swapout((void **)&favbuf);
- outta_swapout((void **)&zapbuf);
- outta_swapout((void **)&nbrd);
-#endif
Read();
-#ifdef OUTTA_CACHE
- outta_swapin((void **)&favbuf, 'f');
- outta_swapin((void **)&zapbuf, 'z');
- outta_swapin((void **)&nbrd, 'b');
- ptr = &nbrd[num];
-#endif
check_newpost(ptr);
head = -1;
setutmpmode(newflag ? READNEW : READBRD);
@@ -1112,12 +1068,6 @@ choose_board(int newflag)
}
} while (ch != 'q');
free(nbrd);
-#ifdef OUTTA_CACHE
- if( --depth == 0 ){
- outta_swapout((void **)&favbuf);
- outta_swapout((void **)&zapbuf);
- }
-#endif
}
int
diff --git a/mbbsd/cache.c b/mbbsd/cache.c
index c824b4f6..7c4a1992 100644
--- a/mbbsd/cache.c
+++ b/mbbsd/cache.c
@@ -1,4 +1,4 @@
-/* $Id: cache.c,v 1.48 2002/08/19 14:47:41 in2 Exp $ */
+/* $Id: cache.c,v 1.49 2002/08/20 02:42:36 in2 Exp $ */
#include "bbs.h"
#ifndef __FreeBSD__
@@ -1066,165 +1066,3 @@ hbflcheck(int bid, int uid)
}
return 1;
}
-
-#ifdef MDCACHE
-char *
-cachepath(const char *fpath)
-{
- static char cpath[128];
- char *ptr;
- snprintf(cpath, sizeof(cpath), "cache/%s", fpath);
- for (ptr = &cpath[6]; *ptr != 0; ++ptr)
- if (*ptr == '/')
- *ptr = '.';
- return cpath;
-}
-
-int
-updatemdcache(const char *CPATH, const char *fpath)
-{
- /*
- * save file to mdcache with *cpath and *fpath, return: -1 if error
- * else the fd
- */
- int len, sourcefd, targetfd;
- char buf[1024], *cpath;
- cpath = (CPATH == NULL) ? cachepath(fpath) : (char *)CPATH;
- if ((sourcefd = open(fpath, O_RDONLY)) < 0)
- return -1;
- if ((targetfd = open(cpath, O_RDWR | O_CREAT | O_TRUNC, 0600)) < 0)
- /* md is full? */
- return -1;
- while ((len = read(sourcefd, buf, sizeof(buf))) > 0)
- if (write(targetfd, buf, len) < len) {
- /* md is full? */
- close(targetfd);
- unlink(cpath);
- lseek(sourcefd, 0, SEEK_SET);
- return sourcefd;
- }
- close(sourcefd);
- lseek(targetfd, 0, SEEK_SET);
- return targetfd;
-}
-
-int
-mdcacheopen(char *fpath)
-{
- int fd;
- char *cpath;
- if (strncmp(fpath, "boards/", 7) && strncmp(fpath, "etc/", 4))
- return open(fpath, O_RDONLY);
-
-#ifdef MDCACHEHITRATE
- ++GLOBE[0];
-#endif
- if ((fd = open((cpath = cachepath(fpath)), O_RDONLY)) < 0)
- return updatemdcache(cpath, fpath);
-#ifdef MDCACHEHITRATE
- else
- ++GLOBE[1];
-#endif
-
- return fd;
-}
-#endif
-
-#ifdef OUTTA_CACHE
-#include <err.h>
-static ssize_t Read(int fd, void *BUF, size_t nbytes)
-{
- char *buf = (char *)BUF;
- ssize_t thisgot, totalgot = nbytes;
- while( nbytes > 0 ){
- if( (thisgot = read(fd, buf, nbytes)) <= 0 )
- err(1, "read from socket: ");
- nbytes -= thisgot;
- buf += thisgot;
- }
- return totalgot;
-}
-
-static ssize_t Write(int fd, void *BUF, size_t nbytes)
-{
- char *buf = (char *)BUF;
- ssize_t thisgot, totalgot = nbytes;
- while( nbytes > 0 ){
- if( (thisgot = write(fd, buf, nbytes)) <= 0 )
- err(1, "read from socket: ");
- nbytes -= thisgot;
- buf += thisgot;
- }
- return totalgot;
-}
-
-int connectserver(char *host, int port)
-{
- struct sockaddr_in servaddr;
- int fd;
-
- if( (fd = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
- err(1, "socket");
- bzero(&servaddr, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- inet_pton(AF_INET, host, &servaddr.sin_addr);
- servaddr.sin_port = htons(port);
- if( connect(fd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0 )
- err(1, "connect");
- return fd;
-}
-
-void *outta_malloc(size_t size, char id)
-{
- OCbuf_t *ptr = (OCbuf_t *)malloc(OC_HEADERLEN + size);
-#ifdef DEBUG
- vmsg("outta_malloc(%d, %c)", size, id);
-#endif
- ptr->key.pid = getpid();
- ptr->key.cacheid = id;
- ptr->length = size;
- return ptr->buf;
-}
-
-void outta_swapout(void **inptr)
-{
- OCbuf_t *ptr = (OCbuf_t *)(*inptr - OC_HEADERLEN);
- int fd, len;
- fd = connectserver("10.2.1.2", 1477);
- len = ptr->length + OC_HEADERLEN;
-#ifdef DEBUG
- vmsg("outta_swapout(%d)", len);
-#endif
- Write(fd, &len, sizeof(len));
- Write(fd, ptr, len);
- close(fd);
- free(ptr);
- *inptr = NULL;
-}
-
-void *outta_swapin(void **inptr, char cacheid)
-{
- char buf[OC_HEADERLEN];
- OCbuf_t *ptr = (OCbuf_t *)buf;
- int fd, len;
-
- fd = connectserver("10.2.1.2", 1477);
- ptr->key.pid = getpid() + OC_pidadd;
- ptr->key.cacheid = cacheid;
- ptr->length = 0;
- len = OC_HEADERLEN;
- Write(fd, &len, sizeof(len));
- Write(fd, ptr, OC_HEADERLEN);
-
- Read(fd, &len, sizeof(len));
-#ifdef DEBUG
- vmsg("outta_swapin(%d)", len);
-#endif
- ptr = (OCbuf_t *)malloc(len);
- Read(fd, ptr, len);
- close(fd);
-
- return (*inptr = ptr->buf);
-}
-
-#endif
diff --git a/mbbsd/edit.c b/mbbsd/edit.c
index ad210b12..589be70d 100644
--- a/mbbsd/edit.c
+++ b/mbbsd/edit.c
@@ -1,4 +1,4 @@
-/* $Id: edit.c,v 1.15 2002/07/22 19:02:00 in2 Exp $ */
+/* $Id: edit.c,v 1.16 2002/08/20 02:42:36 in2 Exp $ */
#include "bbs.h"
typedef struct textline_t {
struct textline_t *prev;
@@ -1025,9 +1025,6 @@ write_file(char *fpath, int saveheader, int *islocal)
}
fclose(fp);
-#ifdef MDCACHE
- close(updatemdcache(NULL, fpath));
-#endif
if (local_article && (currstat == POSTING))
return 0;
return 0;
diff --git a/mbbsd/more.c b/mbbsd/more.c
index d7508ce4..fc3434ba 100644
--- a/mbbsd/more.c
+++ b/mbbsd/more.c
@@ -1,4 +1,4 @@
-/* $Id: more.c,v 1.19 2002/07/27 10:55:30 kcwu Exp $ */
+/* $Id: more.c,v 1.20 2002/08/20 02:42:36 in2 Exp $ */
#include "bbs.h"
#define MORE_BUFSIZE 4096
#define MORE_WINSIZE 4096
@@ -156,11 +156,7 @@ more(char *fpath, int promptend)
search_char0 = *search_str;
*search_str = 0;
-#ifdef MDCACHE
- fd = mdcacheopen(fpath);
-#else
fd = open(fpath, O_RDONLY, 0600);
-#endif
if (fd < 0)
return -1;
diff --git a/mbbsd/voteboard.c b/mbbsd/voteboard.c
index 27ca0bd3..76bf0cbc 100644
--- a/mbbsd/voteboard.c
+++ b/mbbsd/voteboard.c
@@ -1,4 +1,4 @@
-/* $Id: voteboard.c,v 1.13 2002/07/22 19:02:01 in2 Exp $ */
+/* $Id: voteboard.c,v 1.14 2002/08/20 02:42:36 in2 Exp $ */
#include "bbs.h"
#define VOTEBOARD "NewBoard"
@@ -170,9 +170,6 @@ do_voteboardreply(fileheader_t * fhdr)
fclose(fo);
unlink(oldfpath);
rename(fpath, oldfpath);
-#ifdef MDCACHE
- close(updatemdcache(NULL, oldfpath));
-#endif
}
int