diff options
Diffstat (limited to 'docs/module-doc/users_8cpp-source.html')
-rw-r--r-- | docs/module-doc/users_8cpp-source.html | 323 |
1 files changed, 167 insertions, 156 deletions
diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html index 8695c11a4..905a59892 100644 --- a/docs/module-doc/users_8cpp-source.html +++ b/docs/module-doc/users_8cpp-source.html @@ -1,163 +1,174 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>users.cpp Source File</title> +<title>InspIRCd: users.cpp Source File</title> <link href="inspircd.css" rel="stylesheet" type="text/css"> </head><body> -<!-- Generated by Doxygen 1.3-rc3 --> -<center> -<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center> -<hr><h1>users.cpp</h1><a href="users_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> -00002 <span class="comment">Manages userrec objects</span> -00003 <span class="comment">*/</span> -00004 -00005 <span class="preprocessor">#include "inspircd_config.h"</span> -00006 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span> -00007 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span> -00008 <span class="preprocessor">#include "inspircd.h"</span> -00009 <span class="preprocessor">#include <stdio.h></span> -00010 -<a name="l00011"></a><a class="code" href="users_8cpp.html#a0">00011</a> <span class="keyword">extern</span> std::stringstream <a class="code" href="channels_8cpp.html#a35">config_f</a>; -00012 -<a name="l00013"></a><a class="code" href="classuserrec.html#a0">00013</a> <a class="code" href="classuserrec.html#a0">userrec::userrec</a>() -00014 { -00015 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span> -00016 strcpy(nick,<span class="stringliteral">""</span>); -00017 strcpy(ip,<span class="stringliteral">"127.0.0.1"</span>); -00018 <a class="code" href="classuserrec.html#m10">timeout</a> = 0; -00019 strcpy(ident,<span class="stringliteral">""</span>); -00020 strcpy(host,<span class="stringliteral">""</span>); -00021 strcpy(dhost,<span class="stringliteral">""</span>); -00022 strcpy(fullname,<span class="stringliteral">""</span>); -00023 strcpy(modes,<span class="stringliteral">""</span>); -00024 strcpy(inbuf,<span class="stringliteral">""</span>); -00025 strcpy(server,<span class="stringliteral">""</span>); -00026 strcpy(awaymsg,<span class="stringliteral">""</span>); -00027 <a class="code" href="classconnection.html#m0">fd</a> = <a class="code" href="classconnection.html#m12">lastping</a> = <a class="code" href="classconnection.html#m13">signon</a> = <a class="code" href="classconnection.html#m14">idle_lastmsg</a> = <a class="code" href="classconnection.html#m15">nping</a> = <a class="code" href="classconnection.html#m10">registered</a> = 0; -00028 <a class="code" href="classuserrec.html#m9">flood</a> = <a class="code" href="classconnection.html#m9">port</a> = <a class="code" href="classconnection.html#m4">bytes_in</a> = <a class="code" href="classconnection.html#m5">bytes_out</a> = <a class="code" href="classconnection.html#m6">cmds_in</a> = <a class="code" href="classconnection.html#m7">cmds_out</a> = 0; -00029 <a class="code" href="classconnection.html#m8">haspassed</a> = <span class="keyword">false</span>; -00030 strcpy(result,<span class="stringliteral">""</span>); -00031 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAXCHANS; i++) -00032 { -00033 this-><a class="code" href="classuserrec.html#m5">chans</a>[i].<a class="code" href="classucrec.html#m1">channel</a> = NULL; -00034 this-><a class="code" href="classuserrec.html#m5">chans</a>[i].<a class="code" href="classucrec.html#m0">uc_modes</a> = 0; -00035 } -00036 <a class="code" href="classuserrec.html#o0">invites</a>.clear(); -00037 } -00038 -00039 -00040 -<a name="l00041"></a><a class="code" href="classuserrec.html#a2">00041</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">userrec::GetFullHost</a>() -00042 { -00043 sprintf(result,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost); -00044 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#m8">result</a>; -00045 } -00046 -00047 -<a name="l00048"></a><a class="code" href="classuserrec.html#a3">00048</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">userrec::GetFullRealHost</a>() -00049 { -00050 sprintf(result,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host); -00051 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#m8">result</a>; -00052 } -00053 -<a name="l00054"></a><a class="code" href="classuserrec.html#a4">00054</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">userrec::IsInvited</a>(<span class="keywordtype">char</span>* channel) -00055 { -00056 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++) -00057 { -00058 <span class="keywordflow">if</span> (i->channel) { -00059 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel)) -00060 { -00061 <span class="keywordflow">return</span> <span class="keyword">true</span>; -00062 } -00063 } -00064 } -00065 <span class="keywordflow">return</span> <span class="keyword">false</span>; -00066 } -00067 -<a name="l00068"></a><a class="code" href="classuserrec.html#a5">00068</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">userrec::InviteTo</a>(<span class="keywordtype">char</span>* channel) -00069 { -00070 <a class="code" href="classInvited.html">Invited</a> i; -00071 strcpy(i.<a class="code" href="classInvited.html#m0">channel</a>,channel); -00072 <a class="code" href="classuserrec.html#o0">invites</a>.push_back(i); -00073 } -00074 -<a name="l00075"></a><a class="code" href="classuserrec.html#a6">00075</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">userrec::RemoveInvite</a>(<span class="keywordtype">char</span>* channel) -00076 { -00077 log(DEBUG,<span class="stringliteral">"Removing invites"</span>); -00078 <span class="keywordflow">if</span> (channel) -00079 { -00080 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#o0">invites</a>.size()) -00081 { -00082 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#o0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#o0">invites</a>.end(); i++) -00083 { -00084 <span class="keywordflow">if</span> (i->channel) -00085 { -00086 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel)) -00087 { -00088 <a class="code" href="classuserrec.html#o0">invites</a>.erase(i); -00089 <span class="keywordflow">return</span>; -00090 } -00091 } -00092 } -00093 } -00094 } -00095 } -00096 -<a name="l00097"></a><a class="code" href="classuserrec.html#a7">00097</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">userrec::HasPermission</a>(<span class="keywordtype">char</span>* command) -00098 { -00099 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF]; -00100 <span class="keywordtype">char</span>* myclass; -00101 <span class="keywordtype">char</span>* mycmd; -00102 <span class="keywordtype">char</span>* savept; -00103 <span class="keywordtype">char</span>* savept2; -00104 -00105 <span class="comment">// are they even an oper at all?</span> -00106 <span class="keywordflow">if</span> (strchr(this->modes,<span class="charliteral">'o'</span>)) -00107 { -00108 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this->nick); -00109 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j < ConfValueEnum(<span class="stringliteral">"type"</span>,&config_f); j++) -00110 { -00111 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&config_f); -00112 <span class="keywordflow">if</span> (!strcmp(TypeName,this->oper)) -00113 { -00114 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this->nick,this->oper); -00115 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&config_f); -00116 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&savept); -00117 <span class="keywordflow">while</span> (myclass) -00118 { -00119 log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass); -00120 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k < ConfValueEnum(<span class="stringliteral">"class"</span>,&config_f); k++) -00121 { -00122 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&config_f); -00123 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass)) -00124 { -00125 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&config_f); -00126 log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList); -00127 -00128 -00129 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&savept2); -00130 <span class="keywordflow">while</span> (mycmd) -00131 { -00132 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command)) -00133 { -00134 log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command); -00135 <span class="keywordflow">return</span> <span class="keyword">true</span>; -00136 } -00137 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept2); -00138 } -00139 } -00140 } -00141 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept); -00142 } -00143 } -00144 } -00145 } -00146 <span class="keywordflow">return</span> <span class="keyword">false</span>; -00147 } -00148 -00149 -</pre></div><hr><address style="align: right;"><small>Generated on Sun May 2 00:09:18 2004 for InspIRCd by +<!-- Generated by Doxygen 1.3.3 --> +<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div> +<h1>users.cpp</h1><a href="users_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/* +------------------------------------+</span> +00002 <span class="comment"> * | Inspire Internet Relay Chat Daemon |</span> +00003 <span class="comment"> * +------------------------------------+</span> +00004 <span class="comment"> *</span> +00005 <span class="comment"> * Inspire is copyright (C) 2002-2004 ChatSpike-Dev.</span> +00006 <span class="comment"> * E-mail:</span> +00007 <span class="comment"> * <brain@chatspike.net></span> +00008 <span class="comment"> * <Craig@chatspike.net></span> +00009 <span class="comment"> * </span> +00010 <span class="comment"> * Written by Craig Edwards, Craig McLure, and others.</span> +00011 <span class="comment"> * This program is free but copyrighted software; see</span> +00012 <span class="comment"> * the file COPYING for details.</span> +00013 <span class="comment"> *</span> +00014 <span class="comment"> * ---------------------------------------------------</span> +00015 <span class="comment"> */</span> +00016 +00017 <span class="preprocessor">#include "inspircd_config.h"</span> +00018 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span> +00019 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span> +00020 <span class="preprocessor">#include "inspircd.h"</span> +00021 <span class="preprocessor">#include <stdio.h></span> +00022 +<a name="l00023"></a><a class="code" href="users_8cpp.html#a0">00023</a> <span class="keyword">extern</span> std::stringstream <a class="code" href="channels_8cpp.html#a34">config_f</a>; +00024 +<a name="l00025"></a><a class="code" href="classuserrec.html#a0">00025</a> <a class="code" href="classuserrec.html#a0">userrec::userrec</a>() +00026 { +00027 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span> +00028 strcpy(<a class="code" href="classuserrec.html#o0">nick</a>,<span class="stringliteral">""</span>); +00029 strcpy(<a class="code" href="classconnection.html#o2">ip</a>,<span class="stringliteral">"127.0.0.1"</span>); +00030 <a class="code" href="classuserrec.html#o10">timeout</a> = 0; +00031 strcpy(<a class="code" href="classuserrec.html#o1">ident</a>,<span class="stringliteral">""</span>); +00032 strcpy(<a class="code" href="classconnection.html#o1">host</a>,<span class="stringliteral">""</span>); +00033 strcpy(<a class="code" href="classuserrec.html#o2">dhost</a>,<span class="stringliteral">""</span>); +00034 strcpy(<a class="code" href="classuserrec.html#o3">fullname</a>,<span class="stringliteral">""</span>); +00035 strcpy(<a class="code" href="classuserrec.html#o4">modes</a>,<span class="stringliteral">""</span>); +00036 strcpy(<a class="code" href="classconnection.html#o3">inbuf</a>,<span class="stringliteral">""</span>); +00037 strcpy(<a class="code" href="classuserrec.html#o6">server</a>,<span class="stringliteral">""</span>); +00038 strcpy(<a class="code" href="classuserrec.html#o7">awaymsg</a>,<span class="stringliteral">""</span>); +00039 <a class="code" href="classconnection.html#o0">fd</a> = <a class="code" href="classconnection.html#o12">lastping</a> = <a class="code" href="classconnection.html#o13">signon</a> = <a class="code" href="classconnection.html#o14">idle_lastmsg</a> = <a class="code" href="classconnection.html#o15">nping</a> = <a class="code" href="classconnection.html#o10">registered</a> = 0; +00040 <a class="code" href="classuserrec.html#o9">flood</a> = <a class="code" href="classconnection.html#o9">port</a> = <a class="code" href="classconnection.html#o4">bytes_in</a> = <a class="code" href="classconnection.html#o5">bytes_out</a> = <a class="code" href="classconnection.html#o6">cmds_in</a> = <a class="code" href="classconnection.html#o7">cmds_out</a> = 0; +00041 <a class="code" href="classconnection.html#o8">haspassed</a> = <span class="keyword">false</span>; +00042 strcpy(<a class="code" href="classuserrec.html#o8">result</a>,<span class="stringliteral">""</span>); +00043 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < MAXCHANS; i++) +00044 { +00045 this-><a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL; +00046 this-><a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0; +00047 } +00048 <a class="code" href="classuserrec.html#r0">invites</a>.clear(); +00049 } +00050 +00051 +00052 +<a name="l00053"></a><a class="code" href="classuserrec.html#a2">00053</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">userrec::GetFullHost</a>() +00054 { +00055 snprintf(<a class="code" href="classuserrec.html#o8">result</a>,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#o0">nick</a>,<a class="code" href="classuserrec.html#o1">ident</a>,<a class="code" href="classuserrec.html#o2">dhost</a>); +00056 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>; +00057 } +00058 +00059 +<a name="l00060"></a><a class="code" href="classuserrec.html#a3">00060</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">userrec::GetFullRealHost</a>() +00061 { +00062 snprintf(<a class="code" href="classuserrec.html#o8">result</a>,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#o0">nick</a>,<a class="code" href="classuserrec.html#o1">ident</a>,<a class="code" href="classconnection.html#o1">host</a>); +00063 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>; +00064 } +00065 +<a name="l00066"></a><a class="code" href="classuserrec.html#a4">00066</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">userrec::IsInvited</a>(<span class="keywordtype">char</span>* channel) +00067 { +00068 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++) +00069 { +00070 <span class="keywordflow">if</span> (i->channel) { +00071 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel)) +00072 { +00073 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00074 } +00075 } +00076 } +00077 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00078 } +00079 +<a name="l00080"></a><a class="code" href="classuserrec.html#a5">00080</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">userrec::InviteTo</a>(<span class="keywordtype">char</span>* channel) +00081 { +00082 <a class="code" href="classInvited.html">Invited</a> i; +00083 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX); +00084 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i); +00085 } +00086 +<a name="l00087"></a><a class="code" href="classuserrec.html#a6">00087</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">userrec::RemoveInvite</a>(<span class="keywordtype">char</span>* channel) +00088 { +00089 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Removing invites"</span>); +00090 <span class="keywordflow">if</span> (channel) +00091 { +00092 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size()) +00093 { +00094 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++) +00095 { +00096 <span class="keywordflow">if</span> (i->channel) +00097 { +00098 <span class="keywordflow">if</span> (!strcasecmp(i->channel,channel)) +00099 { +00100 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i); +00101 <span class="keywordflow">return</span>; +00102 } +00103 } +00104 } +00105 } +00106 } +00107 } +00108 +<a name="l00109"></a><a class="code" href="classuserrec.html#a7">00109</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">userrec::HasPermission</a>(<span class="keywordtype">char</span>* command) +00110 { +00111 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF]; +00112 <span class="keywordtype">char</span>* myclass; +00113 <span class="keywordtype">char</span>* mycmd; +00114 <span class="keywordtype">char</span>* savept; +00115 <span class="keywordtype">char</span>* savept2; +00116 +00117 <span class="comment">// are they even an oper at all?</span> +00118 <span class="keywordflow">if</span> (strchr(this->modes,<span class="charliteral">'o'</span>)) +00119 { +00120 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this->nick); +00121 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j < ConfValueEnum(<span class="stringliteral">"type"</span>,&<a class="code" href="channels_8cpp.html#a34">config_f</a>); j++) +00122 { +00123 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&<a class="code" href="channels_8cpp.html#a34">config_f</a>); +00124 <span class="keywordflow">if</span> (!strcmp(TypeName,this->oper)) +00125 { +00126 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this->nick,this->oper); +00127 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&<a class="code" href="channels_8cpp.html#a34">config_f</a>); +00128 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&savept); +00129 <span class="keywordflow">while</span> (myclass) +00130 { +00131 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass); +00132 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k < ConfValueEnum(<span class="stringliteral">"class"</span>,&<a class="code" href="channels_8cpp.html#a34">config_f</a>); k++) +00133 { +00134 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&<a class="code" href="channels_8cpp.html#a34">config_f</a>); +00135 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass)) +00136 { +00137 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&<a class="code" href="channels_8cpp.html#a34">config_f</a>); +00138 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList); +00139 +00140 +00141 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&savept2); +00142 <span class="keywordflow">while</span> (mycmd) +00143 { +00144 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command)) +00145 { +00146 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** Command %s found, returning true"</span>,command); +00147 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00148 } +00149 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept2); +00150 } +00151 } +00152 } +00153 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&savept); +00154 } +00155 } +00156 } +00157 } +00158 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00159 } +00160 +00161 +</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by <a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border=0 -width=110 height=53></a>1.3-rc3 </small></address> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.3 </small></address> </body> </html> |