]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_chghost.c
Argh, wrong replace caused by MS VS 2005 interface.
[irc/rqf/shadowircd.git] / modules / m_chghost.c
index fcf87a8ed071f058eda3c4596a5a4ee81e85c396..f805cbbf1fdc3c9100f38134d7e22122b0b56612 100644 (file)
@@ -10,7 +10,6 @@
  */
 
 #include "stdinc.h"
-#include "tools.h"
 #include "send.h"
 #include "channel.h"
 #include "client.h"
@@ -18,7 +17,6 @@
 #include "config.h"
 #include "ircd.h"
 #include "numeric.h"
-#include "memory.h"
 #include "s_conf.h"
 #include "s_newconf.h"
 #include "s_serv.h"
@@ -48,7 +46,7 @@ struct Message chghost_msgtab = {
 
 mapi_clist_av1 chghost_clist[] = { &chghost_msgtab, &realhost_msgtab, NULL };
 
-DECLARE_MODULE_AV1(chghost, NULL, NULL, chghost_clist, NULL, NULL, "$Revision: 1865 $");
+DECLARE_MODULE_AV1(chghost, NULL, NULL, chghost_clist, NULL, NULL, "$Revision: 3424 $");
 
 /* clean_host()
  *
@@ -60,6 +58,9 @@ static int
 clean_host(const char *host)
 {
        int len = 0;
+       
+       if (*host == '\0' || *host == ':')
+               return 0;
 
        for(; *host; host++)
        {
@@ -93,7 +94,7 @@ me_realhost(struct Client *client_p, struct Client *source_p,
                return 0;
 
        del_from_hostname_hash(source_p->orighost, source_p);
-       strlcpy(source_p->orighost, parv[1], HOSTLEN);
+       strlcpy(source_p->orighost, parv[1], sizeof source_p->orighost);
        if (irccmp(source_p->host, source_p->orighost))
                SetDynSpoof(source_p);
        else
@@ -237,7 +238,8 @@ mo_chghost(struct Client *client_p, struct Client *source_p,
                NOCAPS, CAP_TS6, ":%s ENCAP * CHGHOST %s :%s",
                source_p->name, target_p->name, parv[2]);
 #else
-       sendto_one_notice(source_p, ":CHGHOST is disabled");
+       sendto_one_numeric(source_p, ERR_DISABLED, form_str(ERR_DISABLED),
+                       "CHGHOST");
 #endif
 
        return 0;