summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-02-19 00:03:49 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-02-19 00:03:49 +0800
commit4c19b81b4c652d5a6c5b47b9c081f476c0a52c91 (patch)
tree303cd909609e55798abe03c37c3f84aaa7541080 /mbbsd
parentd930cd953212d3544b86763f1ce492a1ade87b9f (diff)
downloadpttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.tar
pttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.tar.gz
pttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.tar.bz2
pttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.tar.lz
pttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.tar.xz
pttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.tar.zst
pttbbs-4c19b81b4c652d5a6c5b47b9c081f476c0a52c91.zip
in CRITICAL_MEMORY, alloc water[] when it's needed.
save many memory for most users. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2521 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/mbbsd.c10
-rw-r--r--mbbsd/var.c8
2 files changed, 16 insertions, 2 deletions
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c
index 9fc9225f..262913f4 100644
--- a/mbbsd/mbbsd.c
+++ b/mbbsd/mbbsd.c
@@ -292,6 +292,14 @@ add_history(msgque_t * msg)
{
int i = 0, j, waterinit = 0;
water_t *tmp;
+#ifdef CRITICAL_MEMORY
+ if( !water ){
+ water = (water_t*)malloc(sizeof(water_t) * 6);
+ memset(water, 0, sizeof(water_t) * 6);
+ water_which = &water[0];
+ strlcpy(water[0].userid, " ¥þ³¡ ", sizeof(water[0].userid));
+ }
+#endif
if (WATERMODE(WATER_ORIG) || WATERMODE(WATER_NEW))
add_history_water(&water[0], msg);
if (WATERMODE(WATER_NEW) || WATERMODE(WATER_OFO)) {
@@ -909,8 +917,10 @@ user_login()
resolve_fcache();
/* resolve_boards(); */
numboards = SHM->Bnumber;
+#ifndef CRITICAL_MEMORY
memset(&water[0], 0, sizeof(water_t) * 6);
strlcpy(water[0].userid, " ¥þ³¡ ", sizeof(water[0].userid));
+#endif
if(getenv("SSH_CLIENT") != NULL){
char frombuf[50];
diff --git a/mbbsd/var.c b/mbbsd/var.c
index dc00bd9f..1389fc6c 100644
--- a/mbbsd/var.c
+++ b/mbbsd/var.c
@@ -371,8 +371,8 @@ time4_t brc_list[BRC_MAXNUM];
/* read.c */
int TagNum; /* tag's number */
TagItem TagList[MAXTAGS]; /* ascending list */
-int TagBoard = -1; /* TagBoard = 0 : user's mailbox
- TagBoard > 0 : bid where last taged*/
+int TagBoard = -1; /* TagBoard = 0 : user's mailbox */
+ /* TagBoard > 0 : bid where last taged*/
char currdirect[64];
/* edit.c */
@@ -387,7 +387,11 @@ char local_article;
char fromhost[STRLEN] = "\0";
char water_usies = 0;
FILE *fp_writelog = NULL;
+#ifdef CRITICAL_MEMORY
+water_t *water, *swater[6], *water_which;
+#else
water_t water[6], *swater[6], *water_which = &water[0];
+#endif
/* announce.c */
char trans_buffer[256];