summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-15 17:56:39 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-15 17:56:39 +0000
commit8784fa995e7e9aaf2f1ecf9f40daef1172580ccd (patch)
treea0fe795b748b4204c8f3c503810f6ff9428d5604 /src
parentb2b0e1d235686ff8389d2930a53366abefd1bb9d (diff)
Remove moduleAddData|GetData|DelData and all associated mess. Extensible base replaces all this in a much cleaner and more transparent fashion.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1706 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/chanserv.c2
-rw-r--r--src/core/ms_del.c1
-rw-r--r--src/memoserv.c2
-rw-r--r--src/module.cpp3
-rw-r--r--src/modules.c230
-rw-r--r--src/nickserv.c3
-rw-r--r--src/users.c3
7 files changed, 0 insertions, 244 deletions
diff --git a/src/chanserv.c b/src/chanserv.c
index 44b2a690a..3327f5b06 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -482,7 +482,6 @@ void load_cs_dbase(void)
memos->time = tmp32;
SAFE(read = read_buffer(memos->sender, f));
SAFE(read_string(&memos->text, f));
- memos->moduleData = NULL;
}
}
@@ -1779,7 +1778,6 @@ int delchan(ChannelInfo * ci)
for (i = 0; i < ci->memos.memocount; i++) {
if (ci->memos.memos[i].text)
free(ci->memos.memos[i].text);
- moduleCleanStruct(&ci->memos.memos[i].moduleData);
}
free(ci->memos.memos);
}
diff --git a/src/core/ms_del.c b/src/core/ms_del.c
index 1f30eb25e..0924dd7d8 100644
--- a/src/core/ms_del.c
+++ b/src/core/ms_del.c
@@ -136,7 +136,6 @@ int do_del(User * u)
/* Delete all memos. */
for (i = 0; i < mi->memocount; i++) {
free(mi->memos[i].text);
- moduleCleanStruct(&mi->memos[i].moduleData);
}
free(mi->memos);
mi->memos = NULL;
diff --git a/src/memoserv.c b/src/memoserv.c
index 0054f3f9c..d9bd61b93 100644
--- a/src/memoserv.c
+++ b/src/memoserv.c
@@ -256,7 +256,6 @@ void memo_send(User * u, char *name, char *text, int z)
mi->memos = (Memo *)srealloc(mi->memos, sizeof(Memo) * mi->memocount);
m = &mi->memos[mi->memocount - 1];
strscpy(m->sender, source, NICKMAX);
- m->moduleData = NULL;
if (mi->memocount > 1) {
m->number = m[-1].number + 1;
if (m->number < 1) {
@@ -346,7 +345,6 @@ int delmemo(MemoInfo * mi, int num)
break;
}
if (i < mi->memocount) {
- moduleCleanStruct(&mi->memos[i].moduleData);
free(mi->memos[i].text); /* Deallocate memo text memory */
mi->memocount--; /* One less memo now */
if (i < mi->memocount) /* Move remaining memos down a slot */
diff --git a/src/module.cpp b/src/module.cpp
index 5676b16fb..d0929bfdd 100644
--- a/src/module.cpp
+++ b/src/module.cpp
@@ -86,9 +86,6 @@ Module::~Module()
/* Kill any active callbacks this module has */
moduleCallBackPrepForUnload(this->name.c_str());
- /* Remove any stored data this module has */
- moduleDelAllDataMod(this);
-
/**
* ok, im going to walk every hash looking for commands we own, now, not exactly elegant or efficiant :)
**/
diff --git a/src/modules.c b/src/modules.c
index 3d9355944..7120d5c4e 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -1128,236 +1128,6 @@ void moduleDisplayHelp(int service, User * u)
}
/**
- * Add module data to a struct.
- * This allows module coders to add data to an existing struct
- * @param md The module data for the struct to be used
- * @param key The Key for the key/value pair
- * @param value The value for the key/value pair, this is what will be stored for you
- * @return MOD_ERR_OK will be returned on success
- **/
-int moduleAddData(ModuleData ** md, const char *key, char *value)
-{
- ModuleData *newData = NULL;
-
- if (mod_current_module_name == NULL) {
- alog("moduleAddData() called with mod_current_module_name being NULL");
- if (debug)
- do_backtrace(0);
- }
-
- if (!key || !value) {
- alog("A module (%s) tried to use ModuleAddData() with one or more NULL arguments... returning", mod_current_module_name);
- return MOD_ERR_PARAMS;
- }
-
- moduleDelData(md, key); /* Remove any existing module data for this module with the same key */
-
- newData = (ModuleData *)malloc(sizeof(ModuleData));
- if (!newData) {
- return MOD_ERR_MEMORY;
- }
-
- newData->moduleName = sstrdup(mod_current_module_name);
- newData->key = sstrdup(key);
- newData->value = sstrdup(value);
- newData->next = *md;
- *md = newData;
-
- return MOD_ERR_OK;
-}
-
-/**
- * Returns the value from a key/value pair set.
- * This allows module coders to retrive any data they have previuosly stored in any given struct
- * @param md The module data for the struct to be used
- * @param key The key to find the data for
- * @return the value paired to the given key will be returned, or NULL
- **/
-char *moduleGetData(ModuleData ** md, const char *key)
-{
- /* See comment in moduleAddData... -GD */
- char *mod_name = sstrdup(mod_current_module_name);
- ModuleData *current = *md;
-
- if (mod_current_module_name == NULL) {
- alog("moduleGetData() called with mod_current_module_name being NULL");
- if (debug)
- do_backtrace(0);
- }
-
- if (debug) {
- alog("debug: moduleGetData %p : key %s", (void *) md, key);
- alog("debug: Current Module %s", mod_name);
- }
-
- while (current) {
- if ((stricmp(current->moduleName, mod_name) == 0)
- && (stricmp(current->key, key) == 0)) {
- free(mod_name);
- return sstrdup(current->value);
- }
- current = current->next;
- }
- free(mod_name);
- return NULL;
-}
-
-/**
- * Delete the key/value pair indicated by "key" for the current module.
- * This allows module coders to remove a previously stored key/value pair.
- * @param md The module data for the struct to be used
- * @param key The key to delete the key/value pair for
- **/
-void moduleDelData(ModuleData ** md, const char *key)
-{
- /* See comment in moduleAddData... -GD */
- char *mod_name = sstrdup(mod_current_module_name);
- ModuleData *current = *md;
- ModuleData *prev = NULL;
- ModuleData *next = NULL;
-
- if (mod_current_module_name == NULL) {
- alog("moduleDelData() called with mod_current_module_name being NULL");
- if (debug)
- do_backtrace(0);
- }
-
- if (key) {
- while (current) {
- next = current->next;
- if ((stricmp(current->moduleName, mod_name) == 0)
- && (stricmp(current->key, key) == 0)) {
- if (prev) {
- prev->next = current->next;
- } else {
- *md = current->next;
- }
- free(current->moduleName);
- free(current->key);
- free(current->value);
- current->next = NULL;
- free(current);
- } else {
- prev = current;
- }
- current = next;
- }
- }
- free(mod_name);
-}
-
-/**
- * This will remove all data for a particular module from existing structs.
- * Its primary use is modulePrepForUnload() however, based on past expericance with module coders wanting to
- * do just about anything and everything, its safe to use from inside the module.
- * @param md The module data for the struct to be used
- **/
-void moduleDelAllData(ModuleData ** md)
-{
- /* See comment in moduleAddData... -GD */
- char *mod_name = sstrdup(mod_current_module_name);
- ModuleData *current = *md;
- ModuleData *prev = NULL;
- ModuleData *next = NULL;
-
- if (mod_current_module_name == NULL) {
- alog("moduleDelAllData() called with mod_current_module_name being NULL");
- if (debug)
- do_backtrace(0);
- }
-
- while (current) {
- next = current->next;
- if ((stricmp(current->moduleName, mod_name) == 0)) {
- if (prev) {
- prev->next = current->next;
- } else {
- *md = current->next;
- }
- free(current->moduleName);
- free(current->key);
- free(current->value);
- current->next = NULL;
- free(current);
- } else {
- prev = current;
- }
- current = next;
- }
- free(mod_name);
-}
-
-/**
- * This will delete all module data used in any struct by module m.
- * @param m The module to clear all data for
- **/
-void moduleDelAllDataMod(Module * m)
-{
- bool freeme = false;
- int i, j;
- User *user;
- NickAlias *na;
- NickCore *nc;
- ChannelInfo *ci;
-
- if (!mod_current_module_name) {
- mod_current_module_name = sstrdup(m->name.c_str());
- freeme = true;
- }
-
- for (i = 0; i < 1024; i++) {
- /* Remove the users */
- for (user = userlist[i]; user; user = user->next) {
- moduleDelAllData(&user->moduleData);
- }
- /* Remove the nick Cores */
- for (nc = nclists[i]; nc; nc = nc->next) {
- /* Remove any memo data for this nick core */
- for (j = 0; j < nc->memos.memocount; j++) {
- moduleCleanStruct(&nc->memos.memos[j].moduleData);
- }
- }
- }
-
- for (i = 0; i < 256; i++) {
- /* Remove any chan info data */
- for (ci = chanlists[i]; ci; ci = ci->next) {
- /* Remove any memo data for this nick core */
- for (j = 0; j < ci->memos.memocount; j++) {
- moduleCleanStruct(&ci->memos.memos[j].moduleData);
- }
- }
- }
-
- if (freeme) {
- free((void *)mod_current_module_name);
- mod_current_module_name = NULL;
- }
-}
-
-/**
- * Remove any data from any module used in the given struct.
- * Useful for cleaning up when a User leave's the net, a NickCore is deleted, etc...
- * @param moduleData the moduleData struct to "clean"
- **/
-void moduleCleanStruct(ModuleData ** moduleData)
-{
- ModuleData *current = *moduleData;
- ModuleData *next = NULL;
-
- while (current) {
- next = current->next;
- free(current->moduleName);
- free(current->key);
- free(current->value);
- current->next = NULL;
- free(current);
- current = next;
- }
- *moduleData = NULL;
-}
-
-/**
* Check the current version of anope against a given version number
* Specifiying -1 for minor,patch or build
* @param major The major version of anope, the first part of the verison number
diff --git a/src/nickserv.c b/src/nickserv.c
index 2e1a68934..4bfbe9527 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -343,7 +343,6 @@ void load_old_ns_dbase(void)
memos->time = tmp32;
SAFE(read_buffer(memos->sender, f));
SAFE(read_string(&memos->text, f));
- memos->moduleData = NULL;
}
}
@@ -539,7 +538,6 @@ void load_ns_dbase(void)
memos->time = tmp32;
SAFE(read_buffer(memos->sender, f));
SAFE(read_string(&memos->text, f));
- memos->moduleData = NULL;
}
}
@@ -1257,7 +1255,6 @@ static int delcore(NickCore * nc)
for (i = 0; i < nc->memos.memocount; i++) {
if (nc->memos.memos[i].text)
free(nc->memos.memos[i].text);
- moduleCleanStruct(&nc->memos.memos[i].moduleData);
}
free(nc->memos.memos);
}
diff --git a/src/users.c b/src/users.c
index fba9a6611..40750d221 100644
--- a/src/users.c
+++ b/src/users.c
@@ -43,7 +43,6 @@ User::User(const std::string &snick)
na = NULL;
chans = NULL;
founder_chans = NULL;
- moduleData = NULL;
timestamp = my_signon = svid = mode = invalid_pw_time = lastmemosend = lastnickreg = lastmail = 0;
strscpy(this->nick, snick.c_str(), NICKMAX);
@@ -253,8 +252,6 @@ User::~User()
if (this->nickTrack)
free(this->nickTrack);
- moduleCleanStruct(&this->moduleData);
-
if (debug >= 2)
alog("debug: User::~User(): delete from list");