diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-05-11 13:15:19 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-05-11 13:15:19 +0000 |
commit | b6210244dd8bbd2c9ad62ef8b7459385802c662c (patch) | |
tree | 732059690466ab501caa3018299d797c6ab06325 | |
parent | 7ce3bb99f8b2f821181c2e64c632058fe02a8a21 (diff) |
BUILD : 1.7.2 (92) BUGS : 43 NOTES : Fixed moduleData error with memo Data handeling
git-svn-id: svn://svn.anope.org/anope/trunk@92 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@68 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | chanserv.c | 5 | ||||
-rw-r--r-- | memoserv.c | 6 | ||||
-rw-r--r-- | modules.c | 1 | ||||
-rw-r--r-- | mysql.c | 18 | ||||
-rw-r--r-- | nickserv.c | 10 | ||||
-rw-r--r-- | services.h | 4 | ||||
-rw-r--r-- | version.log | 6 |
8 files changed, 39 insertions, 12 deletions
@@ -1,6 +1,7 @@ Anope Version 1.7.x (will be renamed when next release is produced) ------------------- Provided by Anope Dev. <dev@anope.org> +2004/06/11 Fixed a bug with module unload / memo moduleData ( #43 ) 2004/06/05 Fixed bug with RDB and empty nickserv greet message (# 28). 2004/05/04 Fixed Badwords kicker to ignore control characters and color codes. 2004/05/04 anoperc bugfixes including checking if anope binary exists. diff --git a/chanserv.c b/chanserv.c index 304a72cfe..4adabd737 100644 --- a/chanserv.c +++ b/chanserv.c @@ -693,7 +693,7 @@ void chanserv(User * u, char *buf) void load_cs_dbase(void) { dbFILE *f; - int ver, i, j, c; + int ver, i, j, c, m; ChannelInfo *ci, **last, *prev; int failed = 0; @@ -981,6 +981,9 @@ void load_cs_dbase(void) memos->time = tmp32; SAFE(read_buffer(memos->sender, f)); SAFE(read_string(&memos->text, f)); + for (m = 0; m < MAX_CMD_HASH; m++) { + memos->moduleData[m] = NULL; + } } } diff --git a/memoserv.c b/memoserv.c index b02573740..04bac6fee 100644 --- a/memoserv.c +++ b/memoserv.c @@ -266,6 +266,7 @@ void memo_send(User * u, char *name, char *text, int z) time_t now = time(NULL); char *source = u->na->nc->display; int is_servadmin = is_services_admin(u); + int j; if (readonly) { notice_lang(s_MemoServ, u, MEMO_SEND_DISABLED); @@ -314,12 +315,15 @@ void memo_send(User * u, char *name, char *text, int z) mi->memos = srealloc(mi->memos, sizeof(Memo) * mi->memocount); m = &mi->memos[mi->memocount - 1]; strscpy(m->sender, source, NICKMAX); + for (j = 0; j < MAX_CMD_HASH; j++) + m->moduleData[j] = NULL; if (mi->memocount > 1) { m->number = m[-1].number + 1; if (m->number < 1) { int i; - for (i = 0; i < mi->memocount; i++) + for (i = 0; i < mi->memocount; i++) { mi->memos[i].number = i + 1; + } } } else { m->number = 1; @@ -1996,7 +1996,6 @@ void moduleCleanStruct(ModuleData * moduleData[]) ModuleDataItem *item = NULL, *nextItem = NULL; int i; - for (i = 0; i < 1024; i++) { for (md = moduleData[i]; md; md = nextMd) { nextMd = md->next; @@ -115,7 +115,7 @@ int db_mysql_query(char *sql) s = db_mysql_quote(sql); alog(s); free(s); - + } result = mysql_query(mysql, sql); @@ -157,7 +157,7 @@ char *db_mysql_quote(char *sql) { int slen; char *quoted; - + if (!sql || !do_mysql) { return sstrdup(""); @@ -1175,7 +1175,7 @@ void db_mysql_load_cs_dbase(void) { char sqlcmd[MAX_SQL_BUF], *tempstr; ChannelInfo *ci; - int n_levels, j; + int n_levels, j, m; MYSQL_RES *res; MYSQL_ROW row; @@ -1345,6 +1345,9 @@ void db_mysql_load_cs_dbase(void) memos->time = atoi(row[2]); snprintf(memos->sender, NICKMAX, "%s", row[3]); memos->text = sstrdup(row[4]); + for (m = 0; m < MAX_CMD_HASH; m++) { + memos->moduleData[m] = NULL; + } memos++; } } @@ -1448,7 +1451,7 @@ void db_mysql_load_ns_dbase(void) NickAlias *na; MYSQL_RES *res; MYSQL_ROW row; - int i, j; + int i, j, m; if (!do_mysql) return; @@ -1529,8 +1532,8 @@ void db_mysql_load_ns_dbase(void) res = mysql_store_result(mysql); while ((row = mysql_fetch_row(res))) { if (strlen(row[0]) > 0) { - *access = sstrdup(row[0]); - access++; + *access = sstrdup(row[0]); + access++; } } mysql_free_result(res); @@ -1556,6 +1559,9 @@ void db_mysql_load_ns_dbase(void) memos->time = atoi(row[2]); snprintf(memos->sender, NICKMAX, "%s", row[3]); memos->text = sstrdup(row[4]); + for (m = 0; m < MAX_CMD_HASH; m++) { + memos->moduleData[m] = NULL; + } memos++; } mysql_free_result(res); diff --git a/nickserv.c b/nickserv.c index a68a0ba5e..0a05a58b3 100644 --- a/nickserv.c +++ b/nickserv.c @@ -369,7 +369,7 @@ void nickserv(User * u, char *buf) void load_old_ns_dbase(void) { dbFILE *f; - int ver, i, j, c; + int ver, i, j, c, m; NickAlias *na, *na2, *next; NickCore *nc; int failed = 0; @@ -558,6 +558,9 @@ void load_old_ns_dbase(void) memos->time = tmp32; SAFE(read_buffer(memos->sender, f)); SAFE(read_string(&memos->text, f)); + for (m = 0; m < MAX_CMD_HASH; m++) { + memos->moduleData[m] = NULL; + } } } @@ -658,7 +661,7 @@ void load_ns_req_db(void) void load_ns_dbase(void) { dbFILE *f; - int ver, i, j, c; + int ver, i, j, c, m; NickAlias *na, **nalast, *naprev; NickCore *nc, **nclast, *ncprev; int failed = 0; @@ -754,6 +757,9 @@ void load_ns_dbase(void) memos->time = tmp32; SAFE(read_buffer(memos->sender, f)); SAFE(read_string(&memos->text, f)); + for (m = 0; m < MAX_CMD_HASH; m++) { + memos->moduleData[m] = NULL; + } } } diff --git a/services.h b/services.h index 88b4a7051..e207e971b 100644 --- a/services.h +++ b/services.h @@ -19,6 +19,10 @@ #include "sysconf.h" #include "config.h" +#ifndef MAX_CMD_HASH +#define MAX_CMD_HASH 1024 +#endif + /* Some Linux boxes (or maybe glibc includes) require this for the * prototype of strsignal(). */ #define _GNU_SOURCE diff --git a/version.log b/version.log index 12d3ce043..9b99d6221 100644 --- a/version.log +++ b/version.log @@ -8,11 +8,15 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="2" -VERSION_BUILD="91" +VERSION_BUILD="92" VERSION_EXTRA="" # $Log$ # +# BUILD : 1.7.2 (92) +# BUGS : 43 +# NOTES : Fixed moduleData error with memo Data handeling +# # BUILD : 1.7.2 (91) # BUGS : # NOTES : db_mysql_query memory usage tweaked. |