]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/module-doc/classchanrec.html
Fixed binary images in this dir that cvs2svn stored as ascii
[user/henk/code/inspircd.git] / docs / module-doc / classchanrec.html
index 97d321cf6c7a4a4c13e443cc6677070dee7af81a..a8c1aa117cd95bbd751be8779f28bde324dfbf6d 100644 (file)
@@ -123,18 +123,18 @@ Creates a channel record and initialises it with default values.
 <p>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00074">74</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00147">binarymodes</a>, <a class="el" href="channels_8h-source.html#l00125">created</a>, <a class="el" href="channels_8h-source.html#l00112">custom_modes</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, <a class="el" href="channels_8h-source.html#l00143">key</a>, <a class="el" href="channels_8h-source.html#l00138">limit</a>, <a class="el" href="channels_8h-source.html#l00108">name</a>, <a class="el" href="channels_8h-source.html#l00133">setby</a>, <a class="el" href="channels_8h-source.html#l00122">topic</a>, and <a class="el" href="channels_8h-source.html#l00129">topicset</a>.<div class="fragment"><pre class="fragment"><a name="l00075"></a>00075 {
-<a name="l00076"></a>00076         strcpy(<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>,<span class="stringliteral">""</span>);
-<a name="l00077"></a>00077         strcpy(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,<span class="stringliteral">""</span>);
-<a name="l00078"></a>00078         strcpy(<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>,<span class="stringliteral">""</span>);
-<a name="l00079"></a>00079         strcpy(<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>,<span class="stringliteral">""</span>);
-<a name="l00080"></a>00080         strcpy(<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>,<span class="stringliteral">""</span>);
-<a name="l00081"></a>00081         <a class="code" href="classchanrec.html#created">created</a> = <a class="code" href="classchanrec.html#topicset">topicset</a> = <a class="code" href="classchanrec.html#limit">limit</a> = 0;
-<a name="l00082"></a>00082         <a class="code" href="classchanrec.html#binarymodes">binarymodes</a> = 0;
-<a name="l00083"></a>00083         <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.clear();
-<a name="l00084"></a>00084 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00073">73</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00147">binarymodes</a>, <a class="el" href="channels_8h-source.html#l00125">created</a>, <a class="el" href="channels_8h-source.html#l00112">custom_modes</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, <a class="el" href="channels_8h-source.html#l00143">key</a>, <a class="el" href="channels_8h-source.html#l00138">limit</a>, <a class="el" href="channels_8h-source.html#l00108">name</a>, <a class="el" href="channels_8h-source.html#l00133">setby</a>, <a class="el" href="channels_8h-source.html#l00122">topic</a>, and <a class="el" href="channels_8h-source.html#l00129">topicset</a>.<div class="fragment"><pre class="fragment"><a name="l00074"></a>00074 {
+<a name="l00075"></a>00075         strcpy(<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>,<span class="stringliteral">""</span>);
+<a name="l00076"></a>00076         strcpy(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,<span class="stringliteral">""</span>);
+<a name="l00077"></a>00077         strcpy(<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>,<span class="stringliteral">""</span>);
+<a name="l00078"></a>00078         strcpy(<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>,<span class="stringliteral">""</span>);
+<a name="l00079"></a>00079         strcpy(<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>,<span class="stringliteral">""</span>);
+<a name="l00080"></a>00080         <a class="code" href="classchanrec.html#created">created</a> = <a class="code" href="classchanrec.html#topicset">topicset</a> = <a class="code" href="classchanrec.html#limit">limit</a> = 0;
+<a name="l00081"></a>00081         <a class="code" href="classchanrec.html#binarymodes">binarymodes</a> = 0;
+<a name="l00082"></a>00082         <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.clear();
+<a name="l00083"></a>00083 }
 </pre></div>
 <p>
     </td>
@@ -207,14 +207,14 @@ Add a user pointer to the internal reference list.
 </dl>
 The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00167">167</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+Definition at line <a class="el" href="channels_8cpp-source.html#l00166">166</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
 <p>
-References <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, and <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.
+References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, and <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>.<div class="fragment"><pre class="fragment"><a name="l00168"></a>00168 {
-<a name="l00169"></a>00169         <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.push_back(castuser);
-<a name="l00170"></a>00170         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Added casted user to channel's internal list"</span>);
-<a name="l00171"></a>00171 }
+Referenced by <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>.<div class="fragment"><pre class="fragment"><a name="l00167"></a>00167 {
+<a name="l00168"></a>00168         <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.push_back(castuser);
+<a name="l00169"></a>00169         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Added casted user to channel's internal list"</span>);
+<a name="l00170"></a>00170 }
 </pre></div>
 <p>
     </td>
@@ -254,22 +254,22 @@ Delete a user pointer to the internal reference list.
 </dl>
 The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00173">173</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="channels_8h-source.html#l00108">name</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00174"></a>00174 {
-<a name="l00175"></a>00175         <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.end(); a++)
-<a name="l00176"></a>00176         {
-<a name="l00177"></a>00177                 <span class="keywordflow">if</span> (*a == castuser)
-<a name="l00178"></a>00178                 {
-<a name="l00179"></a>00179                         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Removed casted user from channel's internal list"</span>);
-<a name="l00180"></a>00180                         <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.erase(a);
-<a name="l00181"></a>00181                         <span class="keywordflow">return</span>;
-<a name="l00182"></a>00182                 }
-<a name="l00183"></a>00183         }
-<a name="l00184"></a>00184         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00185"></a>00185 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00172">172</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="channels_8h-source.html#l00108">name</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00173"></a>00173 {
+<a name="l00174"></a>00174         <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.end(); a++)
+<a name="l00175"></a>00175         {
+<a name="l00176"></a>00176                 <span class="keywordflow">if</span> (*a == castuser)
+<a name="l00177"></a>00177                 {
+<a name="l00178"></a>00178                         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Removed casted user from channel's internal list"</span>);
+<a name="l00179"></a>00179                         <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.erase(a);
+<a name="l00180"></a>00180                         <span class="keywordflow">return</span>;
+<a name="l00181"></a>00181                 }
+<a name="l00182"></a>00182         }
+<a name="l00183"></a>00183         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
+<a name="l00184"></a>00184 }
 </pre></div>
 <p>
     </td>
@@ -311,21 +311,21 @@ For example if "+L #foo" is set, and you pass this method 'L', it will return 'f
 <dl compact><dt><b>Returns:</b></dt><dd>The parameter for this mode is returned, or an empty string</dd></dl>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00147">147</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp-source.html#l00070">custom_mode_params</a>.<div class="fragment"><pre class="fragment"><a name="l00148"></a>00148 {
-<a name="l00149"></a>00149         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
-<a name="l00150"></a>00150         {
-<a name="l00151"></a>00151                 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
-<a name="l00152"></a>00152                 {
-<a name="l00153"></a>00153                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-<a name="l00154"></a>00154                         {
-<a name="l00155"></a>00155                                 <span class="keywordflow">return</span> i-&gt;parameter;
-<a name="l00156"></a>00156                         }
-<a name="l00157"></a>00157                 }
-<a name="l00158"></a>00158         }
-<a name="l00159"></a>00159         <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00160"></a>00160 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00146">146</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8cpp-source.html#l00069">custom_mode_params</a>.<div class="fragment"><pre class="fragment"><a name="l00147"></a>00147 {
+<a name="l00148"></a>00148         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
+<a name="l00149"></a>00149         {
+<a name="l00150"></a>00150                 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
+<a name="l00151"></a>00151                 {
+<a name="l00152"></a>00152                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
+<a name="l00153"></a>00153                         {
+<a name="l00154"></a>00154                                 <span class="keywordflow">return</span> i-&gt;parameter;
+<a name="l00155"></a>00155                         }
+<a name="l00156"></a>00156                 }
+<a name="l00157"></a>00157         }
+<a name="l00158"></a>00158         <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+<a name="l00159"></a>00159 }
 </pre></div>
 <p>
     </td>
@@ -360,9 +360,9 @@ Obtain the channel "user counter" This returns the channel reference counter, wh
 <dl compact><dt><b>Returns:</b></dt><dd>The number of users on this channel</dd></dl>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00162">162</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00163"></a>00163 {
-<a name="l00164"></a>00164         <span class="keywordflow">return</span> (this-&gt;internal_userlist.size());
-<a name="l00165"></a>00165 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00161">161</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00162"></a>00162 {
+<a name="l00163"></a>00163         <span class="keywordflow">return</span> (this-&gt;internal_userlist.size());
+<a name="l00164"></a>00164 }
 </pre></div>
 <p>
     </td>
@@ -398,13 +398,13 @@ These are used for rapid comparison to determine channel membership for PRIVMSG,
 <dl compact><dt><b>Returns:</b></dt><dd>This function returns a vector of userrec pointers, each of which has been casted to char* to prevent circular references</dd></dl>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00187">187</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+Definition at line <a class="el" href="channels_8cpp-source.html#l00186">186</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
 <p>
 References <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>.
 <p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00369">Server::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00188"></a>00188 {
-<a name="l00189"></a>00189         <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>;
-<a name="l00190"></a>00190 }
+Referenced by <a class="el" href="modules_8cpp-source.html#l00373">Server::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00187"></a>00187 {
+<a name="l00188"></a>00188         <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>;
+<a name="l00189"></a>00189 }
 </pre></div>
 <p>
     </td>
@@ -445,9 +445,9 @@ Returns true if a custom mode is set on a channel.
 <dl compact><dt><b>Returns:</b></dt><dd>True if the custom mode is set, false if otherwise</dd></dl>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00142">142</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00143"></a>00143 {
-<a name="l00144"></a>00144         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode));
-<a name="l00145"></a>00145 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00141">141</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00142"></a>00142 {
+<a name="l00143"></a>00143         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode));
+<a name="l00144"></a>00144 }
 </pre></div>
 <p>
     </td>
@@ -497,30 +497,30 @@ Sets or unsets a custom mode in the channels info.
 </dl>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00086">86</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00112">custom_modes</a>, <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="channels_8cpp-source.html#l00111">SetCustomModeParam()</a>.<div class="fragment"><pre class="fragment"><a name="l00087"></a>00087 {
-<a name="l00088"></a>00088         <span class="keywordflow">if</span> (mode_on) {
-<a name="l00089"></a>00089                 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
-<a name="l00090"></a>00090                 m[0] = mode;
-<a name="l00091"></a>00091                 m[1] = <span class="charliteral">'\0'</span>;
-<a name="l00092"></a>00092                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
-<a name="l00093"></a>00093                 {
-<a name="l00094"></a>00094                         strlcat(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,m,MAXMODES);
-<a name="l00095"></a>00095                 }
-<a name="l00096"></a>00096                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode %c set"</span>,mode);
-<a name="l00097"></a>00097         }
-<a name="l00098"></a>00098         <span class="keywordflow">else</span> {
-<a name="l00099"></a>00099 
-<a name="l00100"></a>00100                 <a class="code" href="namespaceirc.html#string">std::string</a> a = this-&gt;<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>;
-<a name="l00101"></a>00101                 <span class="keywordtype">int</span> pos = a.find(mode);
-<a name="l00102"></a>00102                 a.erase(pos,1);
-<a name="l00103"></a>00103                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
-<a name="l00104"></a>00104 
-<a name="l00105"></a>00105                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
-<a name="l00106"></a>00106                 this-&gt;<a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
-<a name="l00107"></a>00107         }
-<a name="l00108"></a>00108 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00085">85</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00112">custom_modes</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="channels_8cpp-source.html#l00110">SetCustomModeParam()</a>.<div class="fragment"><pre class="fragment"><a name="l00086"></a>00086 {
+<a name="l00087"></a>00087         <span class="keywordflow">if</span> (mode_on) {
+<a name="l00088"></a>00088                 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
+<a name="l00089"></a>00089                 m[0] = mode;
+<a name="l00090"></a>00090                 m[1] = <span class="charliteral">'\0'</span>;
+<a name="l00091"></a>00091                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
+<a name="l00092"></a>00092                 {
+<a name="l00093"></a>00093                         strlcat(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,m,MAXMODES);
+<a name="l00094"></a>00094                 }
+<a name="l00095"></a>00095                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+<a name="l00096"></a>00096         }
+<a name="l00097"></a>00097         <span class="keywordflow">else</span> {
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099                 <a class="code" href="namespaceirc.html#string">std::string</a> a = this-&gt;<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>;
+<a name="l00100"></a>00100                 <span class="keywordtype">int</span> pos = a.find(mode);
+<a name="l00101"></a>00101                 a.erase(pos,1);
+<a name="l00102"></a>00102                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
+<a name="l00103"></a>00103 
+<a name="l00104"></a>00104                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
+<a name="l00105"></a>00105                 this-&gt;<a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
+<a name="l00106"></a>00106         }
+<a name="l00107"></a>00107 }
 </pre></div>
 <p>
     </td>
@@ -577,39 +577,39 @@ Sets or unsets the parameters for a custom mode in a channels info.
 </dl>
 
 <p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00111">111</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00084">ModeParameter::channel</a>, <a class="el" href="channels_8cpp-source.html#l00070">custom_mode_params</a>, <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="channels_8h-source.html#l00082">ModeParameter::mode</a>, and <a class="el" href="channels_8h-source.html#l00083">ModeParameter::parameter</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00086">SetCustomMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 
-<a name="l00114"></a>00114         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"SetCustomModeParam called"</span>);
-<a name="l00115"></a>00115         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
-<a name="l00116"></a>00116         M.<a class="code" href="classModeParameter.html#mode">mode</a> = mode;
-<a name="l00117"></a>00117         strlcpy(M.<a class="code" href="classModeParameter.html#channel_5BCHANMAX_5D">channel</a>,this-&gt;name,CHANMAX);
-<a name="l00118"></a>00118         strlcpy(M.<a class="code" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a>,parameter,MAXBUF);
-<a name="l00119"></a>00119         <span class="keywordflow">if</span> (mode_on)
-<a name="l00120"></a>00120         {
-<a name="l00121"></a>00121                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
-<a name="l00122"></a>00122                 <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.push_back(M);
-<a name="l00123"></a>00123         }
-<a name="l00124"></a>00124         <span class="keywordflow">else</span>
-<a name="l00125"></a>00125         {
-<a name="l00126"></a>00126                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
-<a name="l00127"></a>00127                 {
-<a name="l00128"></a>00128                         <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
-<a name="l00129"></a>00129                         {
-<a name="l00130"></a>00130                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-<a name="l00131"></a>00131                                 {
-<a name="l00132"></a>00132                                         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
-<a name="l00133"></a>00133                                         <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.erase(i);
-<a name="l00134"></a>00134                                         <span class="keywordflow">return</span>;
-<a name="l00135"></a>00135                                 }
-<a name="l00136"></a>00136                         }
-<a name="l00137"></a>00137                 }
-<a name="l00138"></a>00138                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
-<a name="l00139"></a>00139         }
-<a name="l00140"></a>00140 }
+Definition at line <a class="el" href="channels_8cpp-source.html#l00110">110</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+<p>
+References <a class="el" href="channels_8h-source.html#l00084">ModeParameter::channel</a>, <a class="el" href="channels_8cpp-source.html#l00069">custom_mode_params</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="channels_8h-source.html#l00082">ModeParameter::mode</a>, and <a class="el" href="channels_8h-source.html#l00083">ModeParameter::parameter</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00085">SetCustomMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 
+<a name="l00113"></a>00113         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"SetCustomModeParam called"</span>);
+<a name="l00114"></a>00114         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
+<a name="l00115"></a>00115         M.<a class="code" href="classModeParameter.html#mode">mode</a> = mode;
+<a name="l00116"></a>00116         strlcpy(M.<a class="code" href="classModeParameter.html#channel_5BCHANMAX_5D">channel</a>,this-&gt;name,CHANMAX);
+<a name="l00117"></a>00117         strlcpy(M.<a class="code" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a>,parameter,MAXBUF);
+<a name="l00118"></a>00118         <span class="keywordflow">if</span> (mode_on)
+<a name="l00119"></a>00119         {
+<a name="l00120"></a>00120                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
+<a name="l00121"></a>00121                 <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.push_back(M);
+<a name="l00122"></a>00122         }
+<a name="l00123"></a>00123         <span class="keywordflow">else</span>
+<a name="l00124"></a>00124         {
+<a name="l00125"></a>00125                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
+<a name="l00126"></a>00126                 {
+<a name="l00127"></a>00127                         <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
+<a name="l00128"></a>00128                         {
+<a name="l00129"></a>00129                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
+<a name="l00130"></a>00130                                 {
+<a name="l00131"></a>00131                                         <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
+<a name="l00132"></a>00132                                         <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.erase(i);
+<a name="l00133"></a>00133                                         <span class="keywordflow">return</span>;
+<a name="l00134"></a>00134                                 }
+<a name="l00135"></a>00135                         }
+<a name="l00136"></a>00136                 }
+<a name="l00137"></a>00137                 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
+<a name="l00138"></a>00138         }
+<a name="l00139"></a>00139 }
 </pre></div>
 <p>
     </td>
@@ -642,7 +642,7 @@ The list of all bans set on the channel.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00151">151</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="binarymodes"></a><!-- doxytag: member="chanrec::binarymodes" ref="binarymodes" args="" --><p>
@@ -671,7 +671,7 @@ Contains a bitmask of the CM_* builtin (RFC) binary mode symbols.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00147">147</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="created"></a><!-- doxytag: member="chanrec::created" ref="created" args="" --><p>
@@ -700,7 +700,7 @@ Creation time.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00125">125</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="custom_5Fmodes_5BMAXMODES_5D"></a><!-- doxytag: member="chanrec::custom_modes" ref="custom_5Fmodes_5BMAXMODES_5D" args="[MAXMODES]" --><p>
@@ -729,7 +729,7 @@ Plugins may use this field in any way they see fit.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00112">112</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, and <a class="el" href="channels_8cpp-source.html#l00086">SetCustomMode()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, and <a class="el" href="channels_8cpp-source.html#l00085">SetCustomMode()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="internal_5Fuserlist"></a><!-- doxytag: member="chanrec::internal_userlist" ref="internal_5Fuserlist" args="" --><p>
@@ -758,7 +758,7 @@ User list (casted to char*'s to stop forward declaration stuff) (chicken and egg
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00117">117</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00167">AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00173">DelUser()</a>, and <a class="el" href="channels_8cpp-source.html#l00187">GetUsers()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00166">AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00172">DelUser()</a>, and <a class="el" href="channels_8cpp-source.html#l00186">GetUsers()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="key_5B_33_32_5D"></a><!-- doxytag: member="chanrec::key" ref="key_5B_33_32_5D" args="[32]" --><p>
@@ -787,7 +787,7 @@ If this value is an empty string, there is no channel key in place.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00143">143</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="limit"></a><!-- doxytag: member="chanrec::limit" ref="limit" args="" --><p>
@@ -816,7 +816,7 @@ If this value is zero, there is no limit in place.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00138">138</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="name_5BCHANMAX_5D"></a><!-- doxytag: member="chanrec::name" ref="name_5BCHANMAX_5D" args="[CHANMAX]" --><p>
@@ -845,7 +845,7 @@ The channels name.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00108">108</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00173">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00172">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="setby_5BNICKMAX_5D"></a><!-- doxytag: member="chanrec::setby" ref="setby_5BNICKMAX_5D" args="[NICKMAX]" --><p>
@@ -874,7 +874,7 @@ If this member is an empty string, no topic was ever set.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00133">133</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="topic_5BMAXBUF_5D"></a><!-- doxytag: member="chanrec::topic" ref="topic_5BMAXBUF_5D" args="[MAXBUF]" --><p>
@@ -903,7 +903,7 @@ If this is an empty string, no channel topic is set.
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00122">122</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="topicset"></a><!-- doxytag: member="chanrec::topicset" ref="topicset" args="" --><p>
@@ -932,12 +932,12 @@ If no topic was ever set, this will be equal to <a class="el" href="classchanrec
 <p>
 Definition at line <a class="el" href="channels_8h-source.html#l00129">129</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
 <p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>.    </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>.    </td>
   </tr>
 </table>
 <hr>The documentation for this class was generated from the following files:<ul>
 <li><a class="el" href="channels_8h-source.html">channels.h</a><li><a class="el" href="channels_8cpp-source.html">channels.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
 </body>