]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_cap.c
Allow /ojoin !#channel/%#channel, if admin/halfop are enabled.
[irc/rqf/shadowircd.git] / modules / m_cap.c
index 4e31f70e917c4276c6d7090e90fb72a54fd30a1d..6e06ef73ccc0aee63509feebd472531b43a12187 100644 (file)
  */
 
 #include "stdinc.h"
-#include "tools.h"
 #include "class.h"
 #include "client.h"
-#include "irc_string.h"
+#include "match.h"
 #include "ircd.h"
 #include "numeric.h"
 #include "msg.h"
@@ -117,7 +116,7 @@ clicap_find(const char *data, int *negate, int *finished)
 
        if(data)
        {
-               strlcpy(buf, data, sizeof(buf));
+               rb_strlcpy(buf, data, sizeof(buf));
                p = buf;
        }
 
@@ -175,7 +174,7 @@ clicap_generate(struct Client *source_p, const char *subcmd, int flags, int clea
        char *p;
        int buflen = 0;
        int curlen, mlen;
-       int i;
+       size_t i;
 
        mlen = rb_sprintf(buf, ":%s CAP %s %s",
                        me.name, 
@@ -320,10 +319,10 @@ cap_end(struct Client *source_p, const char *arg)
 
        source_p->flags &= ~FLAGS_CLICAP;
 
-       if(source_p->name[0] && source_p->user)
+       if(source_p->name[0] && source_p->flags & FLAGS_SENTUSER)
        {
                char buf[USERLEN+1];
-               strlcpy(buf, source_p->username, sizeof(buf));
+               rb_strlcpy(buf, source_p->username, sizeof(buf));
                register_local_user(source_p, source_p, buf);
        }
 }