diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2004-04-03 15:46:53 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2004-04-03 15:46:53 +0000 |
commit | abdb186046bcdd83aefbc4171a00bd1ad7ec963c (patch) | |
tree | 8fad649a8a767a12e19c0eef85d78d5f4ef04618 /src/channels.cpp | |
parent | 8a1923c253a798f0823cc87d3cfdef012c533871 (diff) |
Added support for module-defined chanmodes with no parameters
Fixed minor typo in example conf
Added new stylesheet and docs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@362 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/channels.cpp')
-rw-r--r-- | src/channels.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 1d1b3edbe..afa748f08 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -16,6 +16,28 @@ chanrec::chanrec() void chanrec::SetCustomMode(char mode,bool mode_on) { + if (mode_on) { + char m[3]; + m[0] = mode; + m[1] = '\0'; + if (!strchr(this->custom_modes,mode)) + { + strncat(custom_modes,m,MAXMODES); + } + log(DEBUG,"Custom mode %c set",mode); + } + else { + char temp[MAXMODES]; + int count = 0; + for (int q = 0; q < strlen(custom_modes); q++) { + if (custom_modes[q] != mode) { + temp[count++] = mode; + } + } + temp[count] = '\0'; + strncpy(custom_modes,temp,MAXMODES); + log(DEBUG,"Custom mode %c removed",mode); + } } void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on) |