]> 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 5bf6eaeadc3d0fa7bb0520bcb4e3ce0a608371fb..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,9 +174,9 @@ 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 = ircsprintf(buf, ":%s CAP %s %s",
+       mlen = rb_sprintf(buf, ":%s CAP %s %s",
                        me.name, 
                        EmptyString(source_p->name) ? "*" : source_p->name, 
                        subcmd);
@@ -251,7 +250,7 @@ clicap_generate(struct Client *source_p, const char *subcmd, int flags, int clea
                        }
                }
 
-               curlen = ircsprintf(p, "%s ", clicap_list[i].name);
+               curlen = rb_sprintf(p, "%s ", clicap_list[i].name);
                p += curlen;
                buflen += curlen;
        }
@@ -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);
        }
 }
@@ -363,7 +362,7 @@ cap_req(struct Client *source_p, const char *arg)
        if(EmptyString(arg))
                return;
 
-       buflen = ircsnprintf(buf, sizeof(buf), ":%s CAP %s ACK",
+       buflen = rb_snprintf(buf, sizeof(buf), ":%s CAP %s ACK",
                        me.name, EmptyString(source_p->name) ? "*" : source_p->name);
 
        pbuf[0][0] = '\0';