diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-02-19 00:03:49 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-02-19 00:03:49 +0800 |
commit | 4c19b81b4c652d5a6c5b47b9c081f476c0a52c91 (patch) | |
tree | 303cd909609e55798abe03c37c3f84aaa7541080 /mbbsd | |
parent | d930cd953212d3544b86763f1ce492a1ade87b9f (diff) | |
download | pttbbs-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.c | 10 | ||||
-rw-r--r-- | mbbsd/var.c | 8 |
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]; |