diff -r b6c51515baa5 src/modules/m_addline.c
--- a/src/modules/m_addline.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_addline.c	Fri May 24 05:19:25 2013 -0600
@@ -87,13 +87,13 @@
 
 	if (!MyClient(sptr) || !IsAnOper(sptr) || !OPCanAddline(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "ADDLINE");
+		    me.name, sptr->name, "ADDLINE");
 		return 0;
 	}
 	/* writes to current -f */
diff -r b6c51515baa5 src/modules/m_addmotd.c
--- a/src/modules/m_addmotd.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_addmotd.c	Fri May 24 05:19:25 2013 -0600
@@ -91,13 +91,13 @@
 
 	if (!(IsAdmin(sptr) || IsCoAdmin(sptr)))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "ADDMOTD");
+		    me.name, sptr->name, "ADDMOTD");
 		return 0;
 	}
 	conf = fopen(MOTD, "a");
diff -r b6c51515baa5 src/modules/m_addomotd.c
--- a/src/modules/m_addomotd.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_addomotd.c	Fri May 24 05:19:25 2013 -0600
@@ -91,13 +91,13 @@
 
 	if (!(IsAdmin(sptr) || IsCoAdmin(sptr)))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "ADDMOTD");
+		    me.name, sptr->name, "ADDMOTD");
 		return 0;
 	}
 	conf = fopen(conf_files->opermotd_file, "a");
diff -r b6c51515baa5 src/modules/m_admin.c
--- a/src/modules/m_admin.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_admin.c	Fri May 24 05:19:25 2013 -0600
@@ -92,11 +92,11 @@
 	if (!conf_admin_tail)
 	{
 		sendto_one(sptr, err_str(ERR_NOADMININFO),
-		    me.name, parv[0], me.name);
+		    me.name, sptr->name, me.name);
 		return 0;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_ADMINME), me.name, parv[0], me.name);
+	sendto_one(sptr, rpl_str(RPL_ADMINME), me.name, sptr->name, me.name);
 
 	/* cycle through the list backwards */
 	for (admin = conf_admin_tail; admin;
@@ -104,13 +104,13 @@
 	{
 		if (!admin->next)
 			sendto_one(sptr, rpl_str(RPL_ADMINLOC1),
-			    me.name, parv[0], admin->line);
+			    me.name, sptr->name, admin->line);
 		else if (!admin->next->next)
 			sendto_one(sptr, rpl_str(RPL_ADMINLOC2),
-			    me.name, parv[0], admin->line);
+			    me.name, sptr->name, admin->line);
 		else
 			sendto_one(sptr, rpl_str(RPL_ADMINEMAIL),
-			    me.name, parv[0], admin->line);
+			    me.name, sptr->name, admin->line);
 	}
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_adminchat.c
--- a/src/modules/m_adminchat.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_adminchat.c	Fri May 24 05:19:25 2013 -0600
@@ -95,7 +95,7 @@
 	if (BadPtr(message))
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "ADCHAT");
+		    me.name, sptr->name, "ADCHAT");
 		return 0;
 	}
 #ifdef ADMINCHAT
@@ -104,16 +104,16 @@
 	if (MyClient(sptr))
 #endif
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	sendto_server(IsServer(cptr) ? cptr : NULL, 0, 0, ":%s ADCHAT :%s",
-   	    parv[0], message);	
+   	    sptr->name, message);	
 #ifdef ADMINCHAT
 	sendto_umode(UMODE_ADMIN, "*** AdminChat -- from %s: %s",
-	    parv[0], message);
+	    sptr->name, message);
 	sendto_umode(UMODE_COADMIN, "*** AdminChat -- from %s: %s",
-	    parv[0], message);
+	    sptr->name, message);
 #endif
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_away.c
--- a/src/modules/m_away.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_away.c	Fri May 24 05:19:25 2013 -0600
@@ -108,14 +108,14 @@
                         MyFree(away);
                         sptr->user->away = NULL;
 			/* Only send this if they were actually away -- codemastr */
-	                sendto_server(cptr, 0, 0, ":%s AWAY", parv[0]);
+	                sendto_server(cptr, 0, 0, ":%s AWAY", sptr->name);
 	                hash_check_watch(cptr, RPL_NOTAWAY);
 
 			sendto_common_channels_local_butone(sptr, PROTO_AWAY_NOTIFY, ":%s AWAY", sptr->name);
                 }
                 /* hope this works XX */
                 if (MyConnect(sptr))
-                        sendto_one(sptr, rpl_str(RPL_UNAWAY), me.name, parv[0]);
+                        sendto_one(sptr, rpl_str(RPL_UNAWAY), me.name, sptr->name);
 				RunHook2(HOOKTYPE_AWAY, sptr, NULL);
                 return 0;
         }
@@ -136,7 +136,7 @@
 			sptr->user->flood.away_c++;
 		if (sptr->user->flood.away_c > AWAY_COUNT)
 		{
-			sendto_one(sptr, err_str(ERR_TOOMANYAWAY), me.name, parv[0]);
+			sendto_one(sptr, err_str(ERR_TOOMANYAWAY), me.name, sptr->name);
 			return 0;
 		}
 	}
@@ -151,7 +151,7 @@
 
 	sptr->user->lastaway = TStime();
 	
-        sendto_server(cptr, 0, 0, ":%s AWAY :%s", parv[0], awy2);
+        sendto_server(cptr, 0, 0, ":%s AWAY :%s", sptr->name, awy2);
 
 	if (away)
 	{
@@ -162,7 +162,7 @@
 	away = sptr->user->away = strdup(awy2);
 
         if (MyConnect(sptr))
-                sendto_one(sptr, rpl_str(RPL_NOWAWAY), me.name, parv[0]);
+                sendto_one(sptr, rpl_str(RPL_NOWAWAY), me.name, sptr->name);
 
 	hash_check_watch(cptr, wasaway ? RPL_REAWAY : RPL_GONEAWAY);
 	sendto_common_channels_local_butone(sptr, PROTO_AWAY_NOTIFY, ":%s AWAY :%s", sptr->name, away);
diff -r b6c51515baa5 src/modules/m_cap.c
--- a/src/modules/m_cap.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_cap.c	Fri May 24 05:19:25 2013 -0600
@@ -420,7 +420,7 @@
 	{
 		/* I know nothing! */
 		if (IsPerson(sptr))
-			sendto_one(sptr, err_str(ERR_UNKNOWNCOMMAND), me.name, parv[0], "CAP");
+			sendto_one(sptr, err_str(ERR_UNKNOWNCOMMAND), me.name, sptr->name, "CAP");
 		else
 			sendto_one(sptr, err_str(ERR_NOTREGISTERED), me.name, "CAP");
 		return 0;
diff -r b6c51515baa5 src/modules/m_chatops.c
--- a/src/modules/m_chatops.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_chatops.c	Fri May 24 05:19:25 2013 -0600
@@ -88,7 +88,7 @@
 	if (BadPtr(message))
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "CHATOPS");
+		    me.name, sptr->name, "CHATOPS");
 		return 0;
 	}
 
@@ -99,8 +99,8 @@
 	}
 
 	sendto_server(IsServer(cptr) ? cptr : NULL, 0, 0, ":%s CHATOPS :%s",
-	    parv[0], message);
-	sendto_umode(UMODE_OPER, "*** ChatOps -- from %s: %s", parv[0], message);
-	sendto_umode(UMODE_LOCOP, "*** ChatOps -- from %s: %s", parv[0], message);
+	    sptr->name, message);
+	sendto_umode(UMODE_OPER, "*** ChatOps -- from %s: %s", sptr->name, message);
+	sendto_umode(UMODE_LOCOP, "*** ChatOps -- from %s: %s", sptr->name, message);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_chghost.c
--- a/src/modules/m_chghost.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_chghost.c	Fri May 24 05:19:25 2013 -0600
@@ -84,7 +84,7 @@
 /* 
  * m_chghost - 12/07/1999 (two months after I made SETIDENT) - Stskeeps
  * :prefix CHGHOST <nick> <new hostname>
- * parv[0] - sender
+ * sptr->name - sender
  * parv[1] - nickname
  * parv[2] - hostname
  *
@@ -97,7 +97,7 @@
 	if (MyClient(sptr) && !IsAnOper(sptr))
 	{
 		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			parv[0]);
+			sptr->name);
 		return 0;
 	}
 
@@ -139,7 +139,7 @@
 		if (MyClient(sptr) && (IsLocOp(sptr) && !MyClient(acptr)))
 		{
 			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-				parv[0]);
+				sptr->name);
 			return 0;
 		}
 
diff -r b6c51515baa5 src/modules/m_chgident.c
--- a/src/modules/m_chgident.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_chgident.c	Fri May 24 05:19:25 2013 -0600
@@ -104,7 +104,7 @@
 
 	if (MyClient(sptr) && !IsAnOper(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
@@ -152,7 +152,7 @@
 		if (MyClient(sptr) && (IsLocOp(sptr) && !MyClient(acptr)))
 		{
 			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-				parv[0]);
+				sptr->name);
 			return 0;
 		}
 
diff -r b6c51515baa5 src/modules/m_chgname.c
--- a/src/modules/m_chgname.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_chgname.c	Fri May 24 05:19:25 2013 -0600
@@ -103,7 +103,7 @@
 	if (MyClient(sptr) && !IsAnOper(sptr))
 	{
 		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-		    parv[0]);
+		    sptr->name);
 		return 0;
 	}
 
@@ -133,7 +133,7 @@
 		if (MyClient(sptr) && (IsLocOp(sptr) && !MyClient(acptr)))
 		{
 			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-				parv[0]);
+				sptr->name);
 			return 0;
 		}
 
diff -r b6c51515baa5 src/modules/m_close.c
--- a/src/modules/m_close.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_close.c	Fri May 24 05:19:25 2013 -0600
@@ -85,19 +85,19 @@
 
 	if (!IsAnOper(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
 	list_for_each_entry_safe(acptr, acptr2, &unknown_list, lclient_node)
 	{
-		sendto_one(sptr, rpl_str(RPL_CLOSING), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_CLOSING), me.name, sptr->name,
 		    get_client_name(acptr, TRUE), acptr->status);
 		(void)exit_client(acptr, acptr, acptr, "Oper Closing");
 		closed++;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_CLOSEEND), me.name, parv[0], closed);
+	sendto_one(sptr, rpl_str(RPL_CLOSEEND), me.name, sptr->name, closed);
 	sendto_realops("%s!%s@%s closed %d unknown connections", sptr->name,
 	    sptr->user->username, GetHost(sptr), closed);
 	IRCstats.unknown = 0;
diff -r b6c51515baa5 src/modules/m_connect.c
--- a/src/modules/m_connect.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_connect.c	Fri May 24 05:19:25 2013 -0600
@@ -93,19 +93,19 @@
 
 	if (!IsPrivileged(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return -1;
 	}
 
 	if (MyClient(sptr) && !OPCanGRoute(sptr) && parc > 3)
 	{			/* Only allow LocOps to make */
 		/* local CONNECTS --SRB      */
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (MyClient(sptr) && !OPCanLRoute(sptr) && parc <= 3)
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (hunt_server(cptr, sptr, ":%s CONNECT %s %s :%s", 3, parc, parv) != HUNTED_ISME)
@@ -114,7 +114,7 @@
 	if (parc < 2 || *parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "CONNECT");
+		    me.name, sptr->name, "CONNECT");
 		return -1;
 	}
 
diff -r b6c51515baa5 src/modules/m_dccdeny.c
--- a/src/modules/m_dccdeny.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_dccdeny.c	Fri May 24 05:19:25 2013 -0600
@@ -87,32 +87,32 @@
 
 	if (!IsAnOper(sptr) || !OPCanDCCDeny(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	/* fixup --Stskeeps */
 	if (parc < 2)
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name,
 		    "DCCDENY");
 		return 0;
 	}
 	
 	if (BadPtr(parv[2]))
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name,
 		    "DCCDENY");
 		return 0;
 	}
 	if (!Find_deny_dcc(parv[1]))
 	{
-		sendto_ops("%s added a temp dccdeny for %s (%s)", parv[0],
+		sendto_ops("%s added a temp dccdeny for %s (%s)", sptr->name,
 		    parv[1], parv[2]);
 		DCCdeny_add(parv[1], parv[2], DCCDENY_HARD, CONF_BAN_TYPE_TEMPORARY);
 		return 0;
 	}
 	else
-		sendto_one(sptr, "NOTICE %s :*** %s already has a dccdeny", parv[0],
+		sendto_one(sptr, "NOTICE %s :*** %s already has a dccdeny", sptr->name,
 		    parv[1]);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_eos.c
--- a/src/modules/m_eos.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_eos.c	Fri May 24 05:19:25 2013 -0600
@@ -91,7 +91,7 @@
 	ircd_log(LOG_ERROR, "[EOSDBG] m_eos: got sync from %s (path:%s)", sptr->name, cptr->name);
 	ircd_log(LOG_ERROR, "[EOSDBG] m_eos: broadcasting it back to everyone except route from %s", cptr->name);
 #endif
-	sendto_server(cptr, 0, 0, ":%s EOS", parv[0]);
+	sendto_server(cptr, 0, 0, ":%s EOS", sptr->name);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_globops.c
--- a/src/modules/m_globops.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_globops.c	Fri May 24 05:19:25 2013 -0600
@@ -88,16 +88,16 @@
 	if (BadPtr(message))
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "GLOBOPS");
+		    me.name, sptr->name, "GLOBOPS");
 		return 0;
 	}
 	if (MyClient(sptr) && !OPCanGlobOps(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	sendto_server(IsServer(cptr) ? cptr : NULL, 0, 0, ":%s GLOBOPS :%s",
-	    parv[0], message);
-	sendto_failops_whoare_opers("from %s: %s", parv[0], message);
+	    sptr->name, message);
+	sendto_failops_whoare_opers("from %s: %s", sptr->name, message);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_help.c
--- a/src/modules/m_help.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_help.c	Fri May 24 05:19:25 2013 -0600
@@ -92,18 +92,18 @@
 	{
 		/* New syntax: ?... never goes out, !... always does. */
 		if (BadPtr(message)) {
-			parse_help(sptr, parv[0], NULL);
+			parse_help(sptr, sptr->name, NULL);
 			return 0;
 		}
 		else if (message[0] == '?') {
-			parse_help(sptr, parv[0], message+1);
+			parse_help(sptr, sptr->name, message+1);
 			return 0;
 		}
 		else if (message[0] == '!') {
 			message++;
 		}
 		else {
-			if (parse_help(sptr, parv[0], message))
+			if (parse_help(sptr, sptr->name, message))
 				return 0;
 		}
 	}
diff -r b6c51515baa5 src/modules/m_invite.c
--- a/src/modules/m_invite.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_invite.c	Fri May 24 05:19:25 2013 -0600
@@ -105,14 +105,14 @@
         else if (parc < 3 || *parv[1] == '\0')
         {
                 sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-                    me.name, parv[0], "INVITE");
+                    me.name, sptr->name, "INVITE");
                 return -1;
         }
 
         if (!(acptr = find_person(parv[1], (aClient *)NULL)))
         {
                 sendto_one(sptr, err_str(ERR_NOSUCHNICK),
-                    me.name, parv[0], parv[1]);
+                    me.name, sptr->name, parv[1]);
                 return -1;
         }
 
@@ -122,7 +122,7 @@
         if (!(chptr = find_channel(parv[2], NullChn)))
         {
                 sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL),
-                    me.name, parv[0], parv[2]);
+                    me.name, sptr->name, parv[2]);
                 return -1;
         }
 
@@ -135,7 +135,7 @@
                 else {
 #endif
                         sendto_one(sptr, err_str(ERR_NOINVITE),
-                            me.name, parv[0], parv[2]);
+                            me.name, sptr->name, parv[2]);
                         return -1;
 #ifndef NO_OPEROVERRIDE
                 }
@@ -151,7 +151,7 @@
                 else {
 #endif
                         sendto_one(sptr, err_str(ERR_NOTONCHANNEL),
-                            me.name, parv[0], parv[2]);
+                            me.name, sptr->name, parv[2]);
                         return -1;
 #ifndef NO_OPEROVERRIDE
                 }
@@ -161,7 +161,7 @@
         if (IsMember(acptr, chptr))
         {
                 sendto_one(sptr, err_str(ERR_USERONCHANNEL),
-                    me.name, parv[0], parv[1], parv[2]);
+                    me.name, sptr->name, parv[1], parv[2]);
                 return 0;
         }
 
@@ -176,7 +176,7 @@
                         else {
 #endif
                                 sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-                                    me.name, parv[0], chptr->chname);
+                                    me.name, sptr->name, chptr->chname);
                                 return -1;
 #ifndef NO_OPEROVERRIDE
                         }
@@ -191,7 +191,7 @@
                         else {
 #endif
                                 sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-                                    me.name, parv[0],
+                                    me.name, sptr->name,
                                         ((chptr) ? (chptr->chname) : parv[2]));
                                 return -1;
 #ifndef NO_OPEROVERRIDE
@@ -205,7 +205,7 @@
 		    !is_chan_op(sptr, chptr) && !IsAnOper(sptr) && !IsULine(sptr))
 		{
 			sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-				me.name, parv[0], chptr->chname);
+				me.name, sptr->name, chptr->chname);
 			return -1;
 		}
 
@@ -216,11 +216,11 @@
                 if (!over)
                 {
                         sendto_one(sptr, rpl_str(RPL_INVITING), me.name,
-                            parv[0], acptr->name,
+                            sptr->name, acptr->name,
                             ((chptr) ? (chptr->chname) : parv[2]));
                         if (acptr->user->away)
                                 sendto_one(sptr, rpl_str(RPL_AWAY), me.name,
-                                    parv[0], acptr->name, acptr->user->away);
+                                    sptr->name, acptr->name, acptr->user->away);
                 }
         }
         /* Note: is_banned() here will cause some extra CPU load,
@@ -324,7 +324,7 @@
 			}
 	}
 	if (!is_silenced(sptr, acptr))
-		sendto_prefix_one(acptr, sptr, ":%s INVITE %s :%s", parv[0],
+		sendto_prefix_one(acptr, sptr, ":%s INVITE %s :%s", sptr->name,
 			acptr->name, ((chptr) ? (chptr->chname) : parv[2]));
 
         return 0;
diff -r b6c51515baa5 src/modules/m_ison.c
--- a/src/modules/m_ison.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_ison.c	Fri May 24 05:19:25 2013 -0600
@@ -95,7 +95,7 @@
 
 	if (parc < 2) {
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "ISON");
+		    me.name, sptr->name, "ISON");
 		return 0;
 	}
 
diff -r b6c51515baa5 src/modules/m_join.c
--- a/src/modules/m_join.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_join.c	Fri May 24 05:19:25 2013 -0600
@@ -283,7 +283,7 @@
 
 /*
 ** m_join
-**	parv[0] = sender prefix
+**	sptr->name = sender prefix
 **	parv[1] = channel
 **	parv[2] = channel password (key)
 */
@@ -457,7 +457,7 @@
 	if (parc < 2 || *parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "JOIN");
+		    me.name, sptr->name, "JOIN");
 		return 0;
 	}
 	bouncedtimes++;
@@ -503,7 +503,7 @@
 			if (MyClient(sptr))
 				sendto_one(sptr,
 				    err_str(ERR_NOSUCHCHANNEL), me.name,
-				    parv[0], name);
+				    sptr->name, name);
 			continue;
 		}
 		if (*jbuf)
@@ -534,13 +534,13 @@
 			{
 				chptr = lp->chptr;
 				sendto_channel_butserv(chptr, sptr,
-				    PARTFMT2, parv[0], chptr->chname,
+				    PARTFMT2, sptr->name, chptr->chname,
 				    "Left all channels");
 				if (MyConnect(sptr))
 					RunHook4(HOOKTYPE_LOCAL_PART, cptr, sptr, chptr, "Left all channels");
 				remove_user_from_channel(sptr, chptr);
 			}
-			sendto_server(cptr, 0, 0, ":%s JOIN 0", parv[0]);
+			sendto_server(cptr, 0, 0, ":%s JOIN 0", sptr->name);
 			continue;
 		}
 
@@ -566,7 +566,7 @@
 					sendto_one(sptr,
 					    err_str
 					    (ERR_TOOMANYCHANNELS),
-					    me.name, parv[0], name);
+					    me.name, sptr->name, name);
 					RET(0)
 				}
 /* RESTRICTCHAN */
@@ -583,7 +583,7 @@
 								get_client_name(sptr, 1), name);
 						}
 						if (d->reason)
-							sendto_one(sptr, err_str(ERR_FORBIDDENCHANNEL), me.name, BadPtr(parv[0]) ? "*" : parv[0], name, d->reason);
+							sendto_one(sptr, err_str(ERR_FORBIDDENCHANNEL), me.name, BadPtr(sptr->name) ? "*" : sptr->name, name, d->reason);
 						if (d->redirect)
 						{
 							sendnotice(sptr,
@@ -604,7 +604,7 @@
 			}
 			if (!IsOper(sptr) && !IsULine(sptr) && (tklban = find_qline(sptr, name, &ishold)))
 			{
-				sendto_one(sptr, err_str(ERR_FORBIDDENCHANNEL), me.name, BadPtr(parv[0]) ? "*" : parv[0], name, tklban->reason);
+				sendto_one(sptr, err_str(ERR_FORBIDDENCHANNEL), me.name, BadPtr(sptr->name) ? "*" : sptr->name, name, tklban->reason);
 				continue;
 			}
 			/* ugly set::spamfilter::virus-help-channel-deny hack.. */
@@ -668,7 +668,7 @@
 				if (i != -1)
 #endif
 					sendto_one(sptr, err_str(i),
-					    me.name, parv[0], name);
+					    me.name, sptr->name, name);
 #ifndef NO_OPEROVERRIDE
 				else if (i != -1 && OPCanOverride(sptr))
 				{
diff -r b6c51515baa5 src/modules/m_kick.c
--- a/src/modules/m_kick.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_kick.c	Fri May 24 05:19:25 2013 -0600
@@ -99,11 +99,11 @@
 	if (parc < 3 || *parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "KICK");
+		    me.name, sptr->name, "KICK");
 		return 0;
 	}
 
-	comment = (BadPtr(parv[3])) ? parv[0] : parv[3];
+	comment = (BadPtr(parv[3])) ? sptr->name : parv[3];
 
 	if (strlen(comment) > (size_t)TOPICLEN)
 		comment[TOPICLEN] = '\0';
@@ -115,7 +115,7 @@
 		if (!chptr)
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL),
-			    me.name, parv[0], name);
+			    me.name, sptr->name, name);
 			continue;
 		}
 		/* Store "sptr" access flags */
@@ -125,7 +125,7 @@
 		    && !(sptr_flags & CHFL_ISOP) && !(sptr_flags & CHFL_HALFOP))
 		{
 			sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-			    me.name, parv[0], chptr->chname);
+			    me.name, sptr->name, chptr->chname);
 			continue;
 		}
 
@@ -160,7 +160,7 @@
 							   errbuf);
 						sendnotice(who,
 						    "*** q: %s tried to kick you from channel %s (%s)",
-						    parv[0],
+						    sptr->name,
 						    chptr->chname, comment);
 						goto deny;
 					}
@@ -315,11 +315,11 @@
 						/* NORMAL */
 						sendto_channel_butserv(chptr,
 						    sptr, ":%s KICK %s %s :%s",
-						    parv[0], chptr->chname, who->name, comment);
+						    sptr->name, chptr->chname, who->name, comment);
 					}
 				}
 				sendto_server(cptr, 0, 0, ":%s KICK %s %s :%s",
-				    parv[0], chptr->chname, who->name, comment);
+				    sptr->name, chptr->chname, who->name, comment);
 				if (lp)
 				{
 					remove_user_from_channel(who, chptr);
@@ -328,7 +328,7 @@
 			else if (MyClient(sptr))
 				sendto_one(sptr,
 				    err_str(ERR_USERNOTINCHANNEL),
-				    me.name, parv[0], user, name);
+				    me.name, sptr->name, user, name);
 			if (MyClient(cptr))
 				break;
 		}		/* loop on parv[2] */
diff -r b6c51515baa5 src/modules/m_kill.c
--- a/src/modules/m_kill.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_kill.c	Fri May 24 05:19:25 2013 -0600
@@ -100,7 +100,7 @@
 	if (parc < 2 || *parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "KILL");
+		    me.name, sptr->name, "KILL");
 		return 0;
 	}
 
@@ -116,7 +116,7 @@
 
 	if (!IsPrivileged(cptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (IsAnOper(cptr))
@@ -124,7 +124,7 @@
 		if (BadPtr(path))
 		{
 			sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-			    me.name, parv[0], "KILL");
+			    me.name, sptr->name, "KILL");
 			return 0;
 		}
 		if (strlen(path) > (size_t)TOPICLEN)
@@ -151,7 +151,7 @@
 			    get_history(nick, (long)KILLCHASETIMELIMIT)))
 			{
 				sendto_one(sptr, err_str(ERR_NOSUCHNICK),
-				    me.name, parv[0], nick);
+				    me.name, sptr->name, nick);
 				continue;
 			}
 			sendnotice(sptr,
@@ -164,27 +164,27 @@
 		    && !OPCanLKill(cptr)))
 		{
 			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			    parv[0]);
+			    sptr->name);
 			continue;
 		}
 		if (IsServer(acptr) || IsMe(acptr))
 		{
 			sendto_one(sptr, err_str(ERR_CANTKILLSERVER),
-			    me.name, parv[0]);
+			    me.name, sptr->name);
 			continue;
 		}
 		if (!IsPerson(acptr))
 		{
 			/* Nick exists but user is not registered yet: IOTW "doesn't exist". -- Syzop */
 			sendto_one(sptr, err_str(ERR_NOSUCHNICK),
-			    me.name, parv[0], nick);
+			    me.name, sptr->name, nick);
 			continue;
 		}
 
 		if (IsServices(acptr) && !(IsNetAdmin(sptr) || IsULine(sptr)))
 		{
 			sendto_one(sptr, err_str(ERR_KILLDENY), me.name,
-			    parv[0], parv[1]);
+			    sptr->name, parv[1]);
 			return 0;
 		}
 		/* From here on, the kill is probably going to be successful. */
@@ -239,11 +239,11 @@
 		    "*** Notice -- Received KILL message for %s!%s@%s from %s Path: %s!%s",
 		    acptr->name, auser->username,
 		    IsHidden(acptr) ? auser->virthost : auser->realhost,
-		    parv[0], inpath, path);
+		    sptr->name, inpath, path);
 #if defined(USE_SYSLOG) && defined(SYSLOG_KILL)
 		if (IsOper(sptr))
 			syslog(LOG_DEBUG, "KILL From %s For %s Path %s!%s",
-			    parv[0], acptr->name, inpath, path);
+			    sptr->name, acptr->name, inpath, path);
 #endif
 		/*
 		 * By otherguy
@@ -252,7 +252,7 @@
                     (LOG_KILL, "KILL (%s) by  %s(%s!%s)",
                            make_nick_user_host
                      (acptr->name, acptr->user->username, GetHost(acptr)),
-                            parv[0],
+                            sptr->name,
                             inpath,
                             path);
 		/*
@@ -264,7 +264,7 @@
 		if (!MyConnect(acptr) || !MyConnect(sptr) || !IsAnOper(sptr))
 		{
 			sendto_server(cptr, 0, 0, ":%s KILL %s :%s!%s",
-			    parv[0], acptr->name, inpath, path);
+			    sptr->name, acptr->name, inpath, path);
 			if (chasing && IsServer(cptr))
 				sendto_one(cptr, ":%s KILL %s :%s!%s",
 				    me.name, acptr->name, inpath, path);
@@ -279,7 +279,7 @@
 		 */
 		if (MyConnect(acptr))
 			sendto_prefix_one(acptr, sptr, ":%s KILL %s :%s!%s",
-			    parv[0], acptr->name, inpath, path);
+			    sptr->name, acptr->name, inpath, path);
 		/*
 		   ** Set FLAGS_KILLED. This prevents exit_one_client from sending
 		   ** the unnecessary QUIT for this. (This flag should never be
diff -r b6c51515baa5 src/modules/m_knock.c
--- a/src/modules/m_knock.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_knock.c	Fri May 24 05:19:25 2013 -0600
@@ -95,7 +95,7 @@
 	if (parc < 2 || *parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "KNOCK");
+		    me.name, sptr->name, "KNOCK");
 		return -1;
 	}
 
diff -r b6c51515baa5 src/modules/m_lag.c
--- a/src/modules/m_lag.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_lag.c	Fri May 24 05:19:25 2013 -0600
@@ -89,20 +89,20 @@
 		if (!IsAnOper(sptr))
 		{
 			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			    parv[0]);
+			    sptr->name);
 			return 0;
 		}
 
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "LAG");
+		    me.name, sptr->name, "LAG");
 		return 0;
 	}
 	if (*parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "LAG");
+		    me.name, sptr->name, "LAG");
 		return 0;
 	}
 	if (hunt_server(cptr, sptr, ":%s LAG :%s", 1, parc, parv) == HUNTED_NOSUCH)
diff -r b6c51515baa5 src/modules/m_links.c
--- a/src/modules/m_links.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_links.c	Fri May 24 05:19:25 2013 -0600
@@ -94,14 +94,14 @@
 			continue;
 		if (flat)
 			sendto_one(sptr, rpl_str(RPL_LINKS),
-			    me.name, parv[0], acptr->name, me.name,
+			    me.name, sptr->name, acptr->name, me.name,
 			    (acptr != &me) ? 1 : 1, (acptr->info[0] ? acptr->info : "(Unknown Location)"));
 		else
 			sendto_one(sptr, rpl_str(RPL_LINKS),
-			    me.name, parv[0], acptr->name, acptr->serv->up,
+			    me.name, sptr->name, acptr->name, acptr->serv->up,
 			    acptr->hopcount, (acptr->info[0] ? acptr->info : "(Unknown Location)"));
 	}
 
-	sendto_one(sptr, rpl_str(RPL_ENDOFLINKS), me.name, parv[0], "*");
+	sendto_one(sptr, rpl_str(RPL_ENDOFLINKS), me.name, sptr->name, "*");
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_list.c
--- a/src/modules/m_list.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_list.c	Fri May 24 05:19:25 2013 -0600
@@ -126,7 +126,7 @@
 	/* If a /list is in progress, then another one will cancel it */
 	if ((lopt = sptr->user->lopt) != NULL)
 	{
-		sendto_one(sptr, rpl_str(RPL_LISTEND), me.name, parv[0]);
+		sendto_one(sptr, rpl_str(RPL_LISTEND), me.name, sptr->name);
 		free_str_list(sptr->user->lopt->yeslist);
 		free_str_list(sptr->user->lopt->nolist);
 		MyFree(sptr->user->lopt);
@@ -137,7 +137,7 @@
 	if (parc < 2 || BadPtr(parv[1]))
 	{
 
-		sendto_one(sptr, rpl_str(RPL_LISTSTART), me.name, parv[0]);
+		sendto_one(sptr, rpl_str(RPL_LISTSTART), me.name, sptr->name);
 		lopt = sptr->user->lopt = (LOpts *) MyMalloc(sizeof(LOpts));
 		memset(lopt, '\0', sizeof(LOpts));
 
@@ -158,7 +158,7 @@
 		return 0;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_LISTSTART), me.name, parv[0]);
+	sendto_one(sptr, rpl_str(RPL_LISTSTART), me.name, sptr->name);
 
 	chantimemax = topictimemax = currenttime + 86400;
 	chantimemin = topictimemin = 0;
@@ -263,7 +263,7 @@
 #endif
 					  sendto_one(sptr,
 					      rpl_str(RPL_LIST),
-					      me.name, parv[0],
+					      me.name, sptr->name,
 					      name, chptr->users,
 #ifdef LIST_SHOW_MODES
 					      modebuf,
@@ -293,7 +293,7 @@
 		return 0;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_LISTEND), me.name, parv[0]);
+	sendto_one(sptr, rpl_str(RPL_LISTEND), me.name, sptr->name);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_locops.c
--- a/src/modules/m_locops.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_locops.c	Fri May 24 05:19:25 2013 -0600
@@ -88,14 +88,14 @@
 	if (BadPtr(message))
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "LOCOPS");
+		    me.name, sptr->name, "LOCOPS");
 		return 0;
 	}
 	if (MyClient(sptr) && !OPCanLocOps(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
-	sendto_locfailops("from %s: %s", parv[0], message);
+	sendto_locfailops("from %s: %s", sptr->name, message);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_lusers.c
--- a/src/modules/m_lusers.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_lusers.c	Fri May 24 05:19:25 2013 -0600
@@ -93,25 +93,25 @@
 	if (IRCstats.me_clients > IRCstats.me_max)
 		IRCstats.me_max = IRCstats.me_clients;
 
-	sendto_one(sptr, rpl_str(RPL_LUSERCLIENT), me.name, parv[0],
+	sendto_one(sptr, rpl_str(RPL_LUSERCLIENT), me.name, sptr->name,
 	    IRCstats.clients - IRCstats.invisible, IRCstats.invisible,
 	    IRCstats.servers);
 
 	if (IRCstats.operators)
 		sendto_one(sptr, rpl_str(RPL_LUSEROP),
-		    me.name, parv[0], IRCstats.operators);
+		    me.name, sptr->name, IRCstats.operators);
 	if (IRCstats.unknown)
 		sendto_one(sptr, rpl_str(RPL_LUSERUNKNOWN),
-		    me.name, parv[0], IRCstats.unknown);
+		    me.name, sptr->name, IRCstats.unknown);
 	if (IRCstats.channels)
 		sendto_one(sptr, rpl_str(RPL_LUSERCHANNELS),
-		    me.name, parv[0], IRCstats.channels);
+		    me.name, sptr->name, IRCstats.channels);
 	sendto_one(sptr, rpl_str(RPL_LUSERME),
-	    me.name, parv[0], IRCstats.me_clients, flatmap ? 0 : IRCstats.me_servers);
+	    me.name, sptr->name, IRCstats.me_clients, flatmap ? 0 : IRCstats.me_servers);
 	sendto_one(sptr, rpl_str(RPL_LOCALUSERS),
-	    me.name, parv[0], IRCstats.me_clients, IRCstats.me_max, IRCstats.me_clients, IRCstats.me_max);
+	    me.name, sptr->name, IRCstats.me_clients, IRCstats.me_max, IRCstats.me_clients, IRCstats.me_max);
 	sendto_one(sptr, rpl_str(RPL_GLOBALUSERS),
-	    me.name, parv[0], IRCstats.clients, IRCstats.global_max, IRCstats.clients, IRCstats.global_max);
+	    me.name, sptr->name, IRCstats.clients, IRCstats.global_max, IRCstats.clients, IRCstats.global_max);
 	if ((IRCstats.me_clients + IRCstats.me_servers) > max_connection_count)
 	{
 		max_connection_count =
diff -r b6c51515baa5 src/modules/m_map.c
--- a/src/modules/m_map.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_map.c	Fri May 24 05:19:25 2013 -0600
@@ -191,7 +191,7 @@
 		dump_flat_map(sptr, &me, longest);
 	else
 		dump_map(sptr, &me, "*", 0, longest);
-	sendto_one(sptr, rpl_str(RPL_MAPEND), me.name, parv[0]);
+	sendto_one(sptr, rpl_str(RPL_MAPEND), me.name, sptr->name);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_message.c
--- a/src/modules/m_message.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_message.c	Fri May 24 05:19:25 2013 -0600
@@ -258,13 +258,13 @@
 	if (parc < 2 || *parv[1] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NORECIPIENT),
-		    me.name, parv[0], cmd);
+		    me.name, sptr->name, cmd);
 		return -1;
 	}
 
 	if (parc < 3 || *parv[2] == '\0')
 	{
-		sendto_one(sptr, err_str(ERR_NOTEXTTOSEND), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOTEXTTOSEND), me.name, sptr->name);
 		return -1;
 	}
 
@@ -315,7 +315,7 @@
 			ret = can_privmsg(cptr, sptr, acptr, notice, &text, &newcmd);
 			if (ret == CANPRIVMSG_SEND)
 			{
-				sendto_message_one(acptr, sptr, parv[0], newcmd, nick, text);
+				sendto_message_one(acptr, sptr, sptr->name, newcmd, nick, text);
 				continue;
 			} else
 			if (ret == CANPRIVMSG_CONTINUE)
@@ -454,7 +454,7 @@
 					{
 						if (!notice)
 							sendto_one(sptr, err_str(ERR_CANNOTSENDTOCHAN),
-							    me.name, parv[0], chptr->chname,
+							    me.name, sptr->name, chptr->chname,
 							    err_cantsend[6], p2);
 						continue;
 					}
@@ -466,7 +466,7 @@
 						{
 							if (!notice)
 								sendto_one(sptr, err_str(ERR_CANNOTSENDTOCHAN),
-								    me.name, parv[0], chptr->chname,
+								    me.name, sptr->name, chptr->chname,
 								    err_cantsend[6], p2);
 							continue;
 						}
@@ -495,7 +495,7 @@
 				    sptr, chptr,
 				    prefix,
 				    notice ? ":%s NOTICE %s :%s" : ":%s PRIVMSG %s :%s",
-				    parv[0], nick, text);
+				    sptr->name, nick, text);
 
 				if (chptr->mode.floodprot && !is_skochanop(sptr, chptr) &&
 				    !IsULine(sptr) && do_chanflood(chptr->mode.floodprot, FLD_MSG) &&
@@ -519,7 +519,7 @@
 			{
 				if (!notice || (cansend == 8)) /* privmsg or 'cannot send notice'... */
 					sendto_one(sptr, err_str(ERR_CANNOTSENDTOCHAN),
-					    me.name, parv[0], chptr->chname,
+					    me.name, sptr->name, chptr->chname,
 					    err_cantsend[cansend - 1], p2);
 			}
 			continue;
@@ -527,7 +527,7 @@
 		else if (p2)
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name,
-			    parv[0], p2);
+			    sptr->name, p2);
 			continue;
 		}
 
@@ -545,7 +545,7 @@
 			    sptr, nick + 1,
 			    (*nick == '#') ? MATCH_HOST :
 			    MATCH_SERVER,
-			    ":%s %s %s :%s", parv[0], cmd, nick, parv[2]);
+			    ":%s %s %s :%s", sptr->name, cmd, nick, parv[2]);
 			continue;
 		}
 
@@ -586,16 +586,16 @@
 				}
 				/* NICK@SERVER NOT FOUND: */
 				if (server && strncasecmp(server + 1, SERVICES_NAME, strlen(SERVICES_NAME)) == 0)
-					sendto_one(sptr, err_str(ERR_SERVICESDOWN), me.name, parv[0], nick);
+					sendto_one(sptr, err_str(ERR_SERVICESDOWN), me.name, sptr->name, nick);
 				else
-					sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], fulltarget);
+					sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name, fulltarget);
 
 				continue;
 			}
 
 		}
 		/* nothing, nada, not anything found */
-		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name,
 		    nick);
 		continue;
 	}
diff -r b6c51515baa5 src/modules/m_mode.c
--- a/src/modules/m_mode.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_mode.c	Fri May 24 05:19:25 2013 -0600
@@ -142,7 +142,7 @@
 	else
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "MODE");
+		    me.name, sptr->name, "MODE");
 		return 0;
 	}
 
@@ -155,9 +155,9 @@
 		
 		modebuf[1] = '\0';
 		channel_modes(sptr, modebuf, parabuf, sizeof(modebuf), sizeof(parabuf), chptr);
-		sendto_one(sptr, rpl_str(RPL_CHANNELMODEIS), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_CHANNELMODEIS), me.name, sptr->name,
 		    chptr->chname, modebuf, parabuf);
-		sendto_one(sptr, rpl_str(RPL_CREATIONTIME), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_CREATIONTIME), me.name, sptr->name,
 		    chptr->chname, chptr->creationtime);
 		return 0;
 	}
@@ -291,11 +291,11 @@
 		if (cptr == sptr)
 		{
 			sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-			    me.name, parv[0], chptr->chname);
+			    me.name, sptr->name, chptr->chname);
 			return 0;
 		}
 		sendto_one(cptr, ":%s MODE %s -oh %s %s 0",
-		    me.name, chptr->chname, parv[0], parv[0]);
+		    me.name, chptr->chname, sptr->name, sptr->name);
 		/* Tell the other server that the user is
 		 * de-opped.  Fix op desyncs. */
 		bounce_mode(chptr, cptr, parc - 2, parv + 2);
@@ -2014,7 +2014,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "MODE");
+		    me.name, sptr->name, "MODE");
 		return 0;
 	}
 
@@ -2022,7 +2022,7 @@
 	{
 		if (MyConnect(sptr))
 			sendto_one(sptr, err_str(ERR_NOSUCHNICK),
-			    me.name, parv[0], parv[1]);
+			    me.name, sptr->name, parv[1]);
 		return 0;
 	}
 	if (acptr != sptr)
@@ -2031,10 +2031,10 @@
 	if (parc < 3)
 	{
 		sendto_one(sptr, rpl_str(RPL_UMODEIS),
-		    me.name, parv[0], get_mode_str(sptr));
+		    me.name, sptr->name, get_mode_str(sptr));
 		if (sptr->user->snomask)
 			sendto_one(sptr, rpl_str(RPL_SNOMASK),
-				me.name, parv[0], get_sno_str(sptr));
+				me.name, sptr->name, get_sno_str(sptr));
 		return 0;
 	}
 
@@ -2172,7 +2172,7 @@
   			  	  {
 				  	sendto_one(sptr,
 				      		err_str(ERR_UMODEUNKNOWNFLAG),
-				      		me.name, parv[0]);
+				      		me.name, sptr->name);
 					  rpterror = 1;
 				  }
 			  }
@@ -2367,7 +2367,7 @@
 
 	if (MyConnect(sptr) && setsnomask != sptr->user->snomask)
 		sendto_one(sptr, rpl_str(RPL_SNOMASK),
-			me.name, parv[0], get_sno_str(sptr));
+			me.name, sptr->name, get_sno_str(sptr));
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_motd.c
--- a/src/modules/m_motd.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_motd.c	Fri May 24 05:19:25 2013 -0600
@@ -109,19 +109,19 @@
       playmotd:
 	if (themotd == NULL || themotd->lines == NULL)
 	{
-		sendto_one(sptr, err_str(ERR_NOMOTD), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOMOTD), me.name, sptr->name);
 		svsnofile = 1;
 		goto svsmotd;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_MOTDSTART), me.name, parv[0],
+	sendto_one(sptr, rpl_str(RPL_MOTDSTART), me.name, sptr->name,
 		   me.name);
 
 	/* tm_year should be zero only if the struct is zero-ed */
 	if (themotd && themotd->lines && themotd->last_modified.tm_year)
 	{
 		sendto_one(sptr, ":%s %d %s :- %d/%d/%d %d:%02d",
-			me.name, RPL_MOTD, parv[0],
+			me.name, RPL_MOTD, sptr->name,
 			themotd->last_modified.tm_mday,
 			themotd->last_modified.tm_mon + 1,
 			themotd->last_modified.tm_year + 1900,
@@ -134,7 +134,7 @@
 		motdline = themotd->lines;
 	while (motdline)
 	{
-		sendto_one(sptr, rpl_str(RPL_MOTD), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_MOTD), me.name, sptr->name,
 		    motdline->line);
 		motdline = motdline->next;
 	}
@@ -143,11 +143,11 @@
 	motdline = svsmotd.lines;
 	while (motdline)
 	{
-		sendto_one(sptr, rpl_str(RPL_MOTD), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_MOTD), me.name, sptr->name,
 		    motdline->line);
 		motdline = motdline->next;
 	}
 	if (svsnofile == 0)
-		sendto_one(sptr, rpl_str(RPL_ENDOFMOTD), me.name, parv[0]);
+		sendto_one(sptr, rpl_str(RPL_ENDOFMOTD), me.name, sptr->name);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_nachat.c
--- a/src/modules/m_nachat.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_nachat.c	Fri May 24 05:19:25 2013 -0600
@@ -92,7 +92,7 @@
 	if (BadPtr(message))
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "NACHAT");
+		    me.name, sptr->name, "NACHAT");
 		return 0;
 	}
 #ifdef ADMINCHAT
@@ -102,15 +102,15 @@
 	if (MyClient(sptr))
 #endif
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
 	sendto_server(IsServer(cptr) ? cptr : NULL, 0, 0, ":%s NACHAT :%s",
-	    parv[0], message);
+	    sptr->name, message);
 #ifdef ADMINCHAT
 	sendto_umode(UMODE_NETADMIN, "*** NetAdmin.Chat -- from %s: %s",
-	    parv[0], message);
+	    sptr->name, message);
 #endif
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_names.c
--- a/src/modules/m_names.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_names.c	Fri May 24 05:19:25 2013 -0600
@@ -104,7 +104,7 @@
 	if (parc < 2 || !MyConnect(sptr))
 	{
 		sendto_one(sptr, rpl_str(RPL_ENDOFNAMES), me.name,
-		    parv[0], "*");
+		    sptr->name, "*");
 		return 0;
 	}
 
@@ -127,7 +127,7 @@
 	if (!chptr || (!ShowChannel(sptr, chptr) && !OPCanSeeSecret(sptr)))
 	{
 		sendto_one(sptr, rpl_str(RPL_ENDOFNAMES), me.name,
-		    parv[0], para);
+		    sptr->name, para);
 		return 0;
 	}
 
@@ -220,16 +220,16 @@
 		if (mlen + idx + bufLen > BUFSIZE - 7)
 		{
 			sendto_one(sptr, rpl_str(RPL_NAMREPLY), me.name,
-			    parv[0], buf);
+			    sptr->name, buf);
 			idx = spos;
 			flag = 0;
 		}
 	}
 
 	if (flag)
-		sendto_one(sptr, rpl_str(RPL_NAMREPLY), me.name, parv[0], buf);
+		sendto_one(sptr, rpl_str(RPL_NAMREPLY), me.name, sptr->name, buf);
 
-	sendto_one(sptr, rpl_str(RPL_ENDOFNAMES), me.name, parv[0], para);
+	sendto_one(sptr, rpl_str(RPL_ENDOFNAMES), me.name, sptr->name, para);
 
 	return 0;
 
diff -r b6c51515baa5 src/modules/m_nick.c
--- a/src/modules/m_nick.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_nick.c	Fri May 24 05:19:25 2013 -0600
@@ -128,13 +128,13 @@
 	if (IsServer(cptr) && !do_remote_nick_name(nick))
 	{
 		sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME),
-		    me.name, parv[0], parv[1], "Illegal characters");
+		    me.name, sptr->name, parv[1], "Illegal characters");
 
 		if (IsServer(cptr))
 		{
 			ircstp->is_kill++;
 			sendto_failops("Bad Nick: %s From: %s %s",
-			    parv[1], parv[0], get_client_name(cptr, FALSE));
+			    parv[1], sptr->name, get_client_name(cptr, FALSE));
 			sendto_one(cptr, ":%s KILL %s :%s (%s <- %s[%s])",
 			    me.name, parv[1], me.name, parv[1],
 			    nick, cptr->name);
@@ -142,9 +142,9 @@
 			{	/* bad nick change */
 				sendto_server(cptr, 0, 0,
 				    ":%s KILL %s :%s (%s <- %s!%s@%s)",
-				    me.name, parv[0], me.name,
+				    me.name, sptr->name, me.name,
 				    get_client_name(cptr, FALSE),
-				    parv[0],
+				    sptr->name,
 				    sptr->user ? sptr->username : "",
 				    sptr->user ? sptr->user->server :
 				    cptr->name);
@@ -197,14 +197,14 @@
 	if (!stricmp("ircd", nick))
 	{
 		sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME), me.name,
-		    BadPtr(parv[0]) ? "*" : parv[0], nick,
+		    BadPtr(sptr->name) ? "*" : sptr->name, nick,
 		    "Reserved for internal IRCd purposes");
 		return 0;
 	}
 	if (!stricmp("irc", nick))
 	{
 		sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME), me.name,
-		    BadPtr(parv[0]) ? "*" : parv[0], nick,
+		    BadPtr(sptr->name) ? "*" : sptr->name, nick,
 		    "Reserved for internal IRCd purposes");
 		return 0;
 	}
@@ -362,7 +362,7 @@
 	{
 		/* XXX: we need to split this out into register_remote_user() or something. */
 		parv[3] = nick;
-		parv[6] = parv[0];
+		parv[6] = sptr->name;
 		do_cmd(cptr, sptr, "USER", parc - 3, &parv[3]);
 		if (GotNetInfo(cptr) && !IsULine(sptr))
 			sendto_fconnectnotice(sptr->name, sptr->user, sptr, 0, NULL);
@@ -414,7 +414,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NONICKNAMEGIVEN),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
@@ -444,13 +444,13 @@
 	    (!IsServer(cptr) && !do_nick_name(nick)))
 	{
 		sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME),
-		    me.name, parv[0], parv[1], "Illegal characters");
+		    me.name, sptr->name, parv[1], "Illegal characters");
 
 		if (IsServer(cptr))
 		{
 			ircstp->is_kill++;
 			sendto_failops("Bad Nick: %s From: %s %s",
-			    parv[1], parv[0], get_client_name(cptr, FALSE));
+			    parv[1], sptr->name, get_client_name(cptr, FALSE));
 			sendto_one(cptr, ":%s KILL %s :%s (%s <- %s[%s])",
 			    me.name, parv[1], me.name, parv[1],
 			    nick, cptr->name);
@@ -458,9 +458,9 @@
 			{	/* bad nick change */
 				sendto_server(cptr, 0, 0,
 				    ":%s KILL %s :%s (%s <- %s!%s@%s)",
-				    me.name, parv[0], me.name,
+				    me.name, sptr->name, me.name,
 				    get_client_name(cptr, FALSE),
-				    parv[0],
+				    sptr->name,
 				    sptr->user ? sptr->username : "",
 				    sptr->user ? sptr->user->server :
 				    cptr->name);
@@ -525,7 +525,7 @@
 			}
 #endif
 			sendto_one(sptr, err_str(ERR_NICKNAMEINUSE), me.name,
-			    BadPtr(parv[0]) ? "*" : parv[0], nick);
+			    BadPtr(sptr->name) ? "*" : sptr->name, nick);
 			return 0;	/* NICK message ignored */
 		}
 	}
@@ -538,14 +538,14 @@
 	if (!stricmp("ircd", nick))
 	{
 		sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME), me.name,
-		    BadPtr(parv[0]) ? "*" : parv[0], nick,
+		    BadPtr(sptr->name) ? "*" : sptr->name, nick,
 		    "Reserved for internal IRCd purposes");
 		return 0;
 	}
 	if (!stricmp("irc", nick))
 	{
 		sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME), me.name,
-		    BadPtr(parv[0]) ? "*" : parv[0], nick,
+		    BadPtr(sptr->name) ? "*" : sptr->name, nick,
 		    "Reserved for internal IRCd purposes");
 		return 0;
 	}
@@ -584,7 +584,7 @@
 			if (ishold)
 			{
 				sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME),
-				    me.name, BadPtr(parv[0]) ? "*" : parv[0],
+				    me.name, BadPtr(sptr->name) ? "*" : sptr->name,
 				    nick, tklban->reason);
 				return 0;
 			}
@@ -592,7 +592,7 @@
 			{
 				sptr->since += 4; /* lag them up */
 				sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME),
-				    me.name, BadPtr(parv[0]) ? "*" : parv[0],
+				    me.name, BadPtr(sptr->name) ? "*" : sptr->name,
 				    nick, tklban->reason);
 				sendto_snomask(SNO_QLINE, "Forbidding Q-lined nick %s from %s.",
 				    nick, get_client_name(cptr, FALSE));
@@ -709,8 +709,8 @@
 		}
 #endif
 		sendto_one(sptr, err_str(ERR_NICKNAMEINUSE),
-		    /* parv[0] is empty when connecting */
-		    me.name, BadPtr(parv[0]) ? "*" : parv[0], nick);
+		    /* sptr->name is empty when connecting */
+		    me.name, BadPtr(sptr->name) ? "*" : sptr->name, nick);
 		return 0;	/* NICK message ignored */
 	}
 	/*
@@ -915,7 +915,7 @@
 				{
 					sendto_one(sptr,
 					    err_str(ERR_BANNICKCHANGE),
-					    me.name, parv[0],
+					    me.name, sptr->name,
 					    mp->chptr->chname);
 					return 0;
 				}
@@ -923,7 +923,7 @@
 				{
 					sendto_one(sptr,
 					    ":%s 437 %s %s :Cannot change to a nickname banned on channel",
-					    me.name, parv[0],
+					    me.name, sptr->name,
 					    mp->chptr->chname);
 					return 0;
 				}
@@ -933,7 +933,7 @@
 				{
 					sendto_one(sptr,
 					    err_str(ERR_NONICKCHANGE),
-					    me.name, parv[0],
+					    me.name, sptr->name,
 					    mp->chptr->chname);
 					return 0;
 				}
@@ -974,9 +974,9 @@
 			sptr->lastnick = TStime();
 		}
 		add_history(sptr, 1);
-		sendto_common_channels(sptr, ":%s NICK :%s", parv[0], nick);
+		sendto_common_channels(sptr, ":%s NICK :%s", sptr->name, nick);
 		sendto_server(cptr, 0, 0, ":%s NICK %s %ld",
-		    parv[0], nick, sptr->lastnick);
+		    sptr->name, nick, sptr->lastnick);
 		if (removemoder)
 			sptr->umodes &= ~UMODE_REGNICK;
 	}
@@ -1374,11 +1374,11 @@
 			    me.name, version);
 		sendto_one(sptr, rpl_str(RPL_CREATED), me.name, nick, creation);
 		if (!(sptr->listener->options & LISTENER_JAVACLIENT))
-			sendto_one(sptr, rpl_str(RPL_MYINFO), me.name, parv[0],
+			sendto_one(sptr, rpl_str(RPL_MYINFO), me.name, sptr->name,
 			    me.name, version, umodestring, cmodestring);
 		else
 			sendto_one(sptr, ":%s 004 %s %s CR1.8.03-%s %s %s",
-				    me.name, parv[0],
+				    me.name, cptr->name,
 				    me.name, version, umodestring, cmodestring);
 		{
 			int i;
diff -r b6c51515baa5 src/modules/m_oper.c
--- a/src/modules/m_oper.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_oper.c	Fri May 24 05:19:25 2013 -0600
@@ -170,7 +170,7 @@
 
 	if (parc < 3) {
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "OPER");
+		    me.name, sptr->name, "OPER");
 		return 0;
 	}
 
@@ -182,7 +182,7 @@
 
 	if (IsAnOper(sptr)) {
 		sendto_one(sptr, rpl_str(RPL_YOUREOPER),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
@@ -190,11 +190,11 @@
 	password = parv[2];
 
 	if (!(aconf = Find_oper(name))) {
-		sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, sptr->name);
 		sendto_snomask_global
 		    (SNO_OPER, "Failed OPER attempt by %s (%s@%s) [unknown oper]",
-		    parv[0], sptr->user->username, sptr->sockhost);
-		ircd_log(LOG_OPER, "OPER UNKNOWNOPER (%s) by (%s!%s@%s)", name, parv[0],
+		    sptr->name, sptr->user->username, sptr->sockhost);
+		ircd_log(LOG_OPER, "OPER UNKNOWNOPER (%s) by (%s!%s@%s)", name, sptr->name,
 			sptr->user->username, sptr->sockhost);
 		sptr->since += 7;
 		return 0;
@@ -209,11 +209,11 @@
 		    !match(oper_from->name, nuhhost2))
 			break;
 	if (!oper_from)	{
-		sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, sptr->name);
 		sendto_snomask_global
 		    (SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [host doesnt match]",
-		    parv[0], sptr->user->username, sptr->sockhost, name);
-		ircd_log(LOG_OPER, "OPER NOHOSTMATCH (%s) by (%s!%s@%s)", name, parv[0],
+		    sptr->name, sptr->user->username, sptr->sockhost, name);
+		ircd_log(LOG_OPER, "OPER NOHOSTMATCH (%s) by (%s!%s@%s)", name, sptr->name,
 			sptr->user->username, sptr->sockhost);
 		sptr->since += 7;
 		return 0;
@@ -227,12 +227,12 @@
 		/* Check oper::require_modes */
 		if (aconf->require_modes & ~sptr->umodes)
 		{
-			sendto_one(sptr, ":%s %d %s :You are missing user modes required to OPER", me.name, ERR_NOOPERHOST, parv[0]);
+			sendto_one(sptr, ":%s %d %s :You are missing user modes required to OPER", me.name, ERR_NOOPERHOST, sptr->name);
 			sendto_snomask_global
 				(SNO_OPER, "Failed OPER attempt by %s (%s@%s) [lacking modes '%s' in oper::require-modes]",
-				 parv[0], sptr->user->username, sptr->sockhost, get_modestr(aconf->require_modes & ~sptr->umodes));
+				 sptr->name, sptr->user->username, sptr->sockhost, get_modestr(aconf->require_modes & ~sptr->umodes));
 			ircd_log(LOG_OPER, "OPER MISSINGMODES (%s) by (%s!%s@%s), needs modes=%s",
-				 name, parv[0], sptr->user->username, sptr->sockhost,
+				 name, sptr->name, sptr->user->username, sptr->sockhost,
 				 get_modestr(aconf->require_modes & ~sptr->umodes));
 			sptr->since += 7;
 			return 0;
@@ -240,13 +240,13 @@
 
 		if (aconf->maxlogins && (count_oper_sessions(aconf->name) >= aconf->maxlogins))
 		{
-			sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, parv[0]);
+			sendto_one(sptr, err_str(ERR_NOOPERHOST), me.name, sptr->name);
 			sendto_one(sptr, ":%s NOTICE %s :Your maximum number of concurrent oper logins has been reached (%d)",
 				me.name, sptr->name, aconf->maxlogins);
 			sendto_snomask_global
 				(SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [maxlogins reached]",
-				parv[0], sptr->user->username, sptr->sockhost, name);
-			ircd_log(LOG_OPER, "OPER TOOMANYLOGINS (%s) by (%s!%s@%s)", name, parv[0],
+				sptr->name, sptr->user->username, sptr->sockhost, name);
+			ircd_log(LOG_OPER, "OPER TOOMANYLOGINS (%s) by (%s!%s@%s)", name, sptr->name,
 				sptr->user->username, sptr->sockhost);
 			sptr->since += 4;
 			return 0;
@@ -314,14 +314,14 @@
 				  sptr->user->virthost = strdup(sptr->user->cloakedhost);
 			}
 			sendto_snomask(SNO_OPER, "%s (%s@%s) is now a local operator (o)",
-				       parv[0], sptr->user->username, sptr->sockhost);
+				       sptr->name, sptr->user->username, sptr->sockhost);
 		}
 
 
 		if (announce != NULL)
 			sendto_snomask_global(SNO_OPER,
 			    "%s (%s@%s) [%s] %s",
-			    parv[0], sptr->user->username, sptr->sockhost,
+			    sptr->name, sptr->user->username, sptr->sockhost,
 			    parv[1], announce);
 		if (aconf->snomask)
 			set_snomask(sptr, aconf->snomask);
@@ -340,12 +340,12 @@
 		}
 		send_umode_out(cptr, sptr, old);
 		sendto_one(sptr, rpl_str(RPL_SNOMASK),
-			me.name, parv[0], get_sno_str(sptr));
+			me.name, sptr->name, get_sno_str(sptr));
 
 		list_add(&sptr->special_node, &oper_list);
 
 		RunHook2(HOOKTYPE_LOCAL_OPER, sptr, 1);
-		sendto_one(sptr, rpl_str(RPL_YOUREOPER), me.name, parv[0]);
+		sendto_one(sptr, rpl_str(RPL_YOUREOPER), me.name, sptr->name);
 		if (IsInvisible(sptr) && !(old & UMODE_INVISIBLE))
 			IRCstats.invisible++;
 		if (IsOper(sptr) && !IsHideOper(sptr))
@@ -364,21 +364,21 @@
 			if (do_cmd(cptr, sptr, "JOIN", 3, chans) == FLUSH_BUFFER)
 				return FLUSH_BUFFER;
 		}
-		ircd_log(LOG_OPER, "OPER (%s) by (%s!%s@%s)", name, parv[0], sptr->user->username,
+		ircd_log(LOG_OPER, "OPER (%s) by (%s!%s@%s)", name, sptr->name, sptr->user->username,
 			sptr->sockhost);
 
 	}
 	if (i == -1)
 	{
-		sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name, sptr->name);
 		if (FAILOPER_WARN)
 			sendnotice(sptr,
 			    "*** Your attempt has been logged.");
-		ircd_log(LOG_OPER, "OPER FAILEDAUTH (%s) by (%s!%s@%s)", name, parv[0],
+		ircd_log(LOG_OPER, "OPER FAILEDAUTH (%s) by (%s!%s@%s)", name, sptr->name,
 			sptr->user->username, sptr->sockhost);
 		sendto_snomask_global
 		    (SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [FAILEDAUTH]",
-		    parv[0], sptr->user->username, sptr->sockhost, name);
+		    sptr->name, sptr->user->username, sptr->sockhost, name);
 		sptr->since += 7;
 	}
 	/* Belay that order, number One. (-2) */
diff -r b6c51515baa5 src/modules/m_opermotd.c
--- a/src/modules/m_opermotd.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_opermotd.c	Fri May 24 05:19:25 2013 -0600
@@ -85,7 +85,7 @@
 
 	if (!IsAnOper(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
@@ -100,19 +100,19 @@
 
 	if (!motdline)
 	{
-		sendto_one(sptr, err_str(ERR_NOOPERMOTD), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOOPERMOTD), me.name, sptr->name);
 		return 0;
 	}
-	sendto_one(sptr, rpl_str(RPL_MOTDSTART), me.name, parv[0], me.name);
-	sendto_one(sptr, rpl_str(RPL_MOTD), me.name, parv[0],
+	sendto_one(sptr, rpl_str(RPL_MOTDSTART), me.name, sptr->name, me.name);
+	sendto_one(sptr, rpl_str(RPL_MOTD), me.name, sptr->name,
 	    "IRC Operator Message of the Day");
 
 	while (motdline)
 	{
-		sendto_one(sptr, rpl_str(RPL_MOTD), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_MOTD), me.name, sptr->name,
 			   motdline->line);
 		motdline = motdline->next;
 	}
-	sendto_one(sptr, rpl_str(RPL_ENDOFMOTD), me.name, parv[0]);
+	sendto_one(sptr, rpl_str(RPL_ENDOFMOTD), me.name, sptr->name);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_part.c
--- a/src/modules/m_part.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_part.c	Fri May 24 05:19:25 2013 -0600
@@ -92,7 +92,7 @@
 	if (parc < 2 || parv[1][0] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "PART");
+		    me.name, sptr->name, "PART");
 		return 0;
 	}
 
@@ -125,7 +125,7 @@
 		if (!chptr)
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL),
-			    me.name, parv[0], name);
+			    me.name, sptr->name, name);
 			continue;
 		}
 
@@ -144,7 +144,7 @@
 			if (MyClient(sptr))
 				sendto_one(sptr,
 				    err_str(ERR_NOTONCHANNEL), me.name,
-				    parv[0], name);
+				    sptr->name, name);
 			continue;
 		}
 
@@ -200,10 +200,10 @@
 		/* Send to other servers... */
 		if (!comment)
 			sendto_server(cptr, 0, 0, ":%s PART %s",
-			    parv[0], chptr->chname);
+			    sptr->name, chptr->chname);
 		else
 			sendto_server(cptr, 0, 0, ":%s PART %s :%s",
-			    parv[0], chptr->chname, comment);
+			    sptr->name, chptr->chname, comment);
 
 		if (1)
 		{
@@ -242,11 +242,11 @@
 				if (!comment)
 
 					sendto_channel_butserv(chptr,
-					    sptr, PARTFMT, parv[0],
+					    sptr, PARTFMT, sptr->name,
 					    chptr->chname);
 				else
 					sendto_channel_butserv(chptr,
-					    sptr, PARTFMT2, parv[0],
+					    sptr, PARTFMT2, sptr->name,
 					    chptr->chname, comment);
 			}
 			if (MyClient(sptr))
diff -r b6c51515baa5 src/modules/m_pass.c
--- a/src/modules/m_pass.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_pass.c	Fri May 24 05:19:25 2013 -0600
@@ -253,13 +253,13 @@
 	if (BadPtr(password))
 	{
 		sendto_one(cptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "PASS");
+		    me.name, sptr->name, "PASS");
 		return 0;
 	}
 	if (!MyConnect(sptr) || (!IsUnknown(cptr) && !IsHandshake(cptr)))
 	{
 		sendto_one(cptr, err_str(ERR_ALREADYREGISTRED),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
diff -r b6c51515baa5 src/modules/m_pingpong.c
--- a/src/modules/m_pingpong.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_pingpong.c	Fri May 24 05:19:25 2013 -0600
@@ -99,7 +99,7 @@
 
 	if (parc < 2 || *parv[1] == '\0')
 	{
-		sendto_one(sptr, err_str(ERR_NOORIGIN), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOORIGIN), me.name, sptr->name);
 		return 0;
 	}
 	origin = parv[1];
@@ -120,11 +120,11 @@
 		if (MyClient(sptr))
 			origin = sptr->name; /* Make sure origin is not spoofed */
 		if ((acptr = find_server_quick(destination)) && (acptr != &me))
-			sendto_one(acptr, ":%s PING %s :%s", parv[0], origin, destination);
+			sendto_one(acptr, ":%s PING %s :%s", sptr->name, origin, destination);
 		else
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHSERVER),
-			    me.name, parv[0], destination);
+			    me.name, sptr->name, destination);
 			return 0;
 		}
 	}
@@ -194,7 +194,7 @@
 
 	if (parc < 2 || *parv[1] == '\0')
 	{
-		sendto_one(sptr, err_str(ERR_NOORIGIN), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOORIGIN), me.name, sptr->name);
 		return 0;
 	}
 
@@ -215,17 +215,17 @@
 			if (!IsServer(cptr) && !IsServer(acptr))
 			{
 				sendto_one(sptr, err_str(ERR_NOSUCHSERVER),
-				    me.name, parv[0], destination);
+				    me.name, sptr->name, destination);
 				return 0;
 			}
 			else
 				sendto_one(acptr, ":%s PONG %s %s",
-				    parv[0], origin, destination);
+				    sptr->name, origin, destination);
 		}
 		else
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHSERVER),
-			    me.name, parv[0], destination);
+			    me.name, sptr->name, destination);
 			return 0;
 		}
 	}
diff -r b6c51515baa5 src/modules/m_quit.c
--- a/src/modules/m_quit.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_quit.c	Fri May 24 05:19:25 2013 -0600
@@ -84,7 +84,7 @@
 */
 DLLFUNC int  m_quit(aClient *cptr, aClient *sptr, int parc, char *parv[])
 {
-	char *ocomment = (parc > 1 && parv[1]) ? parv[1] : parv[0];
+	char *ocomment = (parc > 1 && parv[1]) ? parv[1] : sptr->name;
 	static char comment[TOPICLEN + 1];
 	Membership *lp;
 
@@ -107,17 +107,17 @@
 #ifdef STRIPBADWORDS
 		ocomment = (char *)stripbadwords_quit(ocomment, &blocked);
 		if (blocked)
-			ocomment = parv[0];
+			ocomment = sptr->name;
 #endif
 		n = dospamfilter(sptr, ocomment, SPAMF_QUIT, NULL, 0, NULL);
 		if (n == FLUSH_BUFFER)
 			return n;
 		if (n < 0)
-			ocomment = parv[0];
+			ocomment = sptr->name;
 		
 		if (!IsAnOper(sptr) && ANTI_SPAM_QUIT_MSG_TIME)
 			if (sptr->firsttime+ANTI_SPAM_QUIT_MSG_TIME > TStime())
-				ocomment = parv[0];
+				ocomment = sptr->name;
 
 		/* Strip color codes if any channel is +S, use nick as reason if +c. */
 		if (IsPerson(sptr) && (strchr(ocomment, '\003')))
@@ -140,10 +140,10 @@
 			{
 				ocomment = StripColors(ocomment);
 				if (*ocomment == '\0')
-					ocomment = parv[0];
+					ocomment = sptr->name;
 			} else
 			if (filtertype == 2)
-				ocomment = parv[0];
+				ocomment = sptr->name;
 		} /* (strip color codes) */
 
                 for (tmphook = Hooks[HOOKTYPE_PRE_LOCAL_QUIT]; tmphook; tmphook = tmphook->next)
@@ -151,7 +151,7 @@
                 	ocomment = (*(tmphook->func.pcharfunc))(sptr, ocomment);
                         if (!ocomment)
 			{			
-				ocomment = parv[0];
+				ocomment = sptr->name;
                                 break;
                         }
                 }
diff -r b6c51515baa5 src/modules/m_rping.c
--- a/src/modules/m_rping.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_rping.c	Fri May 24 05:19:25 2013 -0600
@@ -104,13 +104,13 @@
 
 	if (!IsPrivileged(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	
 	if (parc < (IsAnOper(sptr) ? (MyConnect(sptr) ? 2 : 3) : 6))
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name,
 		    "RPING");
 		return 0;
 	}
@@ -137,7 +137,7 @@
 		if (!(acptr = (aClient *)find_match_server(parv[1])) || !IsServer(acptr))
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name,
-			    parv[0], parv[1]);
+			    sptr->name, parv[1]);
 			return 0;
 		}
 		sendto_one(acptr, ":%s RPING %s %s %s :%s",
@@ -148,7 +148,7 @@
 	{
 		if (hunt_server(cptr, sptr, ":%s RPING %s %s %s %s :%s", 1, parc, parv) != HUNTED_ISME)
 			return 0;
-		sendto_one(cptr, ":%s RPONG %s %s %s %s :%s", me.name, parv[0],
+		sendto_one(cptr, ":%s RPONG %s %s %s %s :%s", me.name, sptr->name,
 		    parv[2], parv[3], parv[4], parv[5]);
 	}
 	return 0;
@@ -172,7 +172,7 @@
 	if (parc < 5)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "RPING");
+		    me.name, sptr->name, "RPING");
 		return 0;
 	}
 
@@ -186,16 +186,16 @@
 		if (IsServer(acptr) && parc > 5)
 		{
 			sendto_one(acptr, ":%s RPONG %s %s %s %s :%s",
-			    parv[0], parv[1], parv[2], parv[3], parv[4],
+			    sptr->name, parv[1], parv[2], parv[3], parv[4],
 			    parv[5]);
 			return 0;
 		}
 	}
 	else
 	{
+		parv[0] = me.name;
 		parv[1] = parv[2];
 		parv[2] = sptr->name;
-		parv[0] = me.name;
 		parv[3] = militime(parv[3], parv[4]);
 		parv[4] = parv[5];
 		if (!(acptr = find_person(parv[1], (aClient *)NULL)))
@@ -203,7 +203,7 @@
 	}
 
 	sendto_one(acptr, ":%s RPONG %s %s %s :%s",
-	    parv[0], parv[1], parv[2], parv[3], parv[4]);
+	    sptr->name, parv[1], parv[2], parv[3], parv[4]);
 	return 0;
 }
 
diff -r b6c51515baa5 src/modules/m_rules.c
--- a/src/modules/m_rules.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_rules.c	Fri May 24 05:19:25 2013 -0600
@@ -109,19 +109,19 @@
       playrules:
 	if (temp == NULL)
 	{
-		sendto_one(sptr, err_str(ERR_NORULES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NORULES), me.name, sptr->name);
 		return 0;
 
 	}
 
-	sendto_one(sptr, rpl_str(RPL_RULESSTART), me.name, parv[0], me.name);
+	sendto_one(sptr, rpl_str(RPL_RULESSTART), me.name, sptr->name, me.name);
 
 	while (temp)
 	{
-		sendto_one(sptr, rpl_str(RPL_RULES), me.name, parv[0],
+		sendto_one(sptr, rpl_str(RPL_RULES), me.name, sptr->name,
 		    temp->line);
 		temp = temp->next;
 	}
-	sendto_one(sptr, rpl_str(RPL_ENDOFRULES), me.name, parv[0]);
+	sendto_one(sptr, rpl_str(RPL_ENDOFRULES), me.name, sptr->name);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_sajoin.c
--- a/src/modules/m_sajoin.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sajoin.c	Fri May 24 05:19:25 2013 -0600
@@ -90,19 +90,19 @@
 
 	if (!IsSAdmin(sptr) && !IsULine(sptr))
 	{
-	 sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+	 sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 	 return 0;
 	}
 
 	if (parc < 3)
 	{
-	 sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "SAJOIN");
+	 sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "SAJOIN");
 	 return 0;
 	}
 
 	if (!(acptr = find_person(parv[1], NULL)))
 	{
-		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], parv[1]);
+		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name, parv[1]);
 		return 0;
 	}
 	if (MyClient(acptr))
@@ -133,14 +133,14 @@
 			{
 				sendto_one(sptr,
 				    err_str(ERR_NOSUCHCHANNEL), me.name,
-				    parv[0], name);
+				    sptr->name, name);
 				continue;
 			}
 
 			chptr = get_channel(acptr, name, 0);
 			if (!parted && chptr && (lp = find_membership_link(acptr->user->channel, chptr)))
 			{
-				sendto_one(sptr, err_str(ERR_USERONCHANNEL), me.name, parv[0], 
+				sendto_one(sptr, err_str(ERR_USERONCHANNEL), me.name, sptr->name, 
 					   parv[1], name);
 				continue;
 			}
@@ -211,7 +211,7 @@
 	}
 	else
 	{
-		sendto_one(acptr, ":%s SAJOIN %s %s", parv[0],
+		sendto_one(acptr, ":%s SAJOIN %s %s", sptr->name,
 		    parv[1], parv[2]);
 
 		/* Logging function added by XeRXeS */
diff -r b6c51515baa5 src/modules/m_samode.c
--- a/src/modules/m_samode.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_samode.c	Fri May 24 05:19:25 2013 -0600
@@ -87,7 +87,7 @@
 
 	if (!IsPrivileged(cptr) || !IsSAdmin(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
@@ -100,7 +100,7 @@
 	else
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "SAMODE");
+		    me.name, sptr->name, "SAMODE");
 		return 0;
 	}
 	opermode = 0;
diff -r b6c51515baa5 src/modules/m_sapart.c
--- a/src/modules/m_sapart.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sapart.c	Fri May 24 05:19:25 2013 -0600
@@ -97,19 +97,19 @@
 
 	if (!IsSAdmin(sptr) && !IsULine(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
 	if (parc < 3)
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "SAPART");
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "SAPART");
 		return 0;
 	}
 
 	if (!(acptr = find_person(parv[1], NULL)))
 	{
-		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], parv[1]);
+		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name, parv[1]);
 		return 0;
 	}
 
@@ -123,13 +123,13 @@
 		{
 			if (!(chptr = get_channel(acptr, name, 0)))
 			{
-				sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL), me.name, parv[0],
+				sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL), me.name, sptr->name,
 					name);
 				continue;
 			}
 			if (!(lp = find_membership_link(acptr->user->channel, chptr)))
 			{
-				sendto_one(sptr, err_str(ERR_USERNOTINCHANNEL), me.name, parv[0],
+				sendto_one(sptr, err_str(ERR_USERNOTINCHANNEL), me.name, sptr->name,
 					parv[1], name);
 				continue;
 			}
@@ -158,25 +158,25 @@
 			sendnotice(acptr,
 			    "*** You were forced to part %s (%s)",
 			    parv[1], commentx);
-			sendto_realops("%s used SAPART to make %s part %s (%s)", sptr->name, parv[0],
+			sendto_realops("%s used SAPART to make %s part %s (%s)", sptr->name, sptr->name,
 				parv[1], comment);
 			sendto_server(&me, 0, 0, ":%s GLOBOPS :%s used SAPART to make %s part %s (%s)",
-				me.name, sptr->name, parv[0], parv[1], comment);
+				me.name, sptr->name, sptr->name, parv[1], comment);
 			/* Logging function added by XeRXeS */
 			ircd_log(LOG_SACMDS,"SAPART: %s used SAPART to make %s part %s (%s)",
-				sptr->name, parv[0], parv[1], comment);
+				sptr->name, sptr->name, parv[1], comment);
 		}
 		else
 		{
 			sendnotice(acptr,
 			    "*** You were forced to part %s", parv[1]);
-			sendto_realops("%s used SAPART to make %s part %s", sptr->name, parv[0],
+			sendto_realops("%s used SAPART to make %s part %s", sptr->name, sptr->name,
 				parv[1]);
 			sendto_server(&me, 0, 0, ":%s GLOBOPS :%s used SAPART to make %s part %s",
-				me.name, sptr->name, parv[0], parv[1]);
+				me.name, sptr->name, sptr->name, parv[1]);
 			/* Logging function added by XeRXeS */
 			ircd_log(LOG_SACMDS,"SAPART: %s used SAPART to make %s part %s",
-				sptr->name, parv[0], parv[1]);
+				sptr->name, sptr->name, parv[1]);
 		}
 		do_cmd(acptr, acptr, "PART", comment ? 3 : 2, parv);
 	}
@@ -184,7 +184,7 @@
 	{
 		if (comment)
 		{
-			sendto_one(acptr, ":%s SAPART %s %s :%s", parv[0],
+			sendto_one(acptr, ":%s SAPART %s %s :%s", sptr->name,
 			    parv[1], parv[2], comment);
 			/* Logging function added by XeRXeS */
 			ircd_log(LOG_SACMDS,"SAPART: %s used SAPART to make %s part %s (%s)",
@@ -192,7 +192,7 @@
 		}
 		else
 		{
-			sendto_one(acptr, ":%s SAPART %s %s", parv[0], parv[1],
+			sendto_one(acptr, ":%s SAPART %s %s", sptr->name, parv[1],
 				   parv[2]);
 			/* Logging function added by XeRXeS */
 			ircd_log(LOG_SACMDS,"SAPART: %s used SAPART to make %s part %s",
diff -r b6c51515baa5 src/modules/m_sasl.c
--- a/src/modules/m_sasl.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sasl.c	Fri May 24 05:19:25 2013 -0600
@@ -174,7 +174,7 @@
 
 	/* not for us; propagate. */
 	sendto_server(cptr, 0, 0, ":%s SVSLOGIN %s %s %s",
-	    parv[0], parv[1], parv[2], parv[3]);
+	    sptr->name, parv[1], parv[2], parv[3]);
 
 	return 0;
 }
@@ -206,10 +206,10 @@
 			make_user(target_p);
 
 		/* reject if another SASL agent is answering */
-		if (*target_p->sasl_agent && stricmp(parv[0], target_p->sasl_agent))
+		if (*target_p->sasl_agent && stricmp(sptr->name, target_p->sasl_agent))
 			return 0;
 		else
-			strlcpy(target_p->sasl_agent, parv[0], sizeof(target_p->sasl_agent));
+			strlcpy(target_p->sasl_agent, sptr->name, sizeof(target_p->sasl_agent));
 
 		if (*parv[3] == 'C')
 			sendto_one(target_p, "AUTHENTICATE %s", parv[4]);
@@ -231,7 +231,7 @@
 
 	/* not for us; propagate. */
 	sendto_server(cptr, 0, 0, ":%s SASL %s %s %c %s %s",
-	    parv[0], parv[1], parv[2], *parv[3], parv[4], parc > 5 ? parv[5] : "");
+	    sptr->name, parv[1], parv[2], *parv[3], parv[4], parc > 5 ? parv[5] : "");
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_sdesc.c
--- a/src/modules/m_sdesc.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sdesc.c	Fri May 24 05:19:25 2013 -0600
@@ -122,9 +122,9 @@
 	if (MyConnect(sptr))
 		sendto_one(sptr,
 			":%s NOTICE %s :Your \"server description\" is now set to be %s - you have to set it manually to undo it",
-			me.name, parv[0], parv[1]);
+			me.name, sptr->name, parv[1]);
 
 	sendto_ops("Server description for %s is now '%s' changed by %s",
-		sptr->srvptr->name, sptr->srvptr->info, parv[0]);
+		sptr->srvptr->name, sptr->srvptr->info, sptr->name);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_sendsno.c
--- a/src/modules/m_sendsno.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sendsno.c	Fri May 24 05:19:25 2013 -0600
@@ -94,7 +94,7 @@
 
 	if ((parc < 3) || BadPtr(parv[2]))
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "SENDSNO");
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "SENDSNO");
 		return 0;
 	}
 	sno = parv[1];
diff -r b6c51515baa5 src/modules/m_sendumode.c
--- a/src/modules/m_sendumode.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sendumode.c	Fri May 24 05:19:25 2013 -0600
@@ -104,18 +104,18 @@
 	if (parc < 3)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "SENDUMODE");
+		    me.name, sptr->name, "SENDUMODE");
 		return 0;
 	}
 
 	if (!IsServer(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
 	sendto_server(IsServer(cptr) ? cptr : NULL, 0, 0,
-	    ":%s SMO %s :%s", parv[0], parv[1], message);
+	    ":%s SMO %s :%s", sptr->name, parv[1], message);
 
 	for (p = parv[1]; *p; p++)
 	{
diff -r b6c51515baa5 src/modules/m_server.c
--- a/src/modules/m_server.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_server.c	Fri May 24 05:19:25 2013 -0600
@@ -314,7 +314,7 @@
 	if (IsPerson(sptr))
 	{
 		sendto_one(cptr, err_str(ERR_ALREADYREGISTRED),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		sendnotice(cptr,
 		    "*** Sorry, but your IRC program doesn't appear to support changing servers.");
 		sptr->since += 7;
@@ -581,7 +581,7 @@
 			sendto_locfailops("Link %s(%s) cancelled, too deep depth", cptr->name, servername);
 			return exit_client(cptr, cptr, cptr, "Too deep link depth (leaf)");
 	}
-	acptr = make_client(cptr, find_server(parv[0], cptr));
+	acptr = make_client(cptr, find_server(sptr->name, cptr));
 	(void)make_server(acptr);
 	acptr->hopcount = hop;
 
diff -r b6c51515baa5 src/modules/m_sethost.c
--- a/src/modules/m_sethost.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_sethost.c	Fri May 24 05:19:25 2013 -0600
@@ -101,7 +101,7 @@
 		  if (!IsAnOper(sptr))
 		  {
 			  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			      parv[0]);
+			      sptr->name);
 			  return 0;
 		  }
 		  break;
@@ -109,7 +109,7 @@
 		  if (!IsOper(sptr))
 		  {
 			  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			      parv[0]);
+			      sptr->name);
 			  return 0;
 		  }
 		  break;
@@ -117,7 +117,7 @@
 		  if (MyConnect(sptr))
 		  {
 			  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			      parv[0]);
+			      sptr->name);
 			  return 0;
 		  }
 	  default:
@@ -140,7 +140,7 @@
 		{
 			sendto_one(sptr,
 			    ":%s NOTICE %s :*** Syntax: /SetHost <new host>",
-			    me.name, parv[0]);
+			    me.name, sptr->name);
 		}
 		return 0;
 	}
@@ -168,7 +168,7 @@
 	{
 		sendto_one(sptr,
 		    ":%s NOTICE %s :*** /SetHost Error: A hostname may contain a-z, A-Z, 0-9, '-' & '.' - Please only use them",
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 	if (vhost[0] == ':')
@@ -181,7 +181,7 @@
 	{
 		sendto_one(sptr,
 		    ":%s NOTICE %s :*** /SetHost Error: requested host is same as current host.",
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
@@ -232,8 +232,8 @@
 		sendto_one(sptr, ":%s MODE %s :+xt", sptr->name, sptr->name);
 		sendto_one(sptr,
 		    ":%s NOTICE %s :Your nick!user@host-mask is now (%s!%s@%s) - To disable it type /mode %s -x",
-		    me.name, parv[0], parv[0], sptr->user->username, vhost,
-		    parv[0]);
+		    me.name, sptr->name, sptr->name, sptr->user->username, vhost,
+		    sptr->name);
 	}
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_setident.c
--- a/src/modules/m_setident.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_setident.c	Fri May 24 05:19:25 2013 -0600
@@ -103,7 +103,7 @@
 		  if (!IsAnOper(sptr))
 		  {
 			  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			      parv[0]);
+			      sptr->name);
 			  return 0;
 		  }
 		  break;
@@ -111,7 +111,7 @@
 		  if (!IsOper(sptr))
 		  {
 			  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			      parv[0]);
+			      sptr->name);
 			  return 0;
 		  }
 		  break;
@@ -119,7 +119,7 @@
 		  if (MyConnect(sptr))
 		  {
 			  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
-			      parv[0]);
+			      sptr->name);
 			  return 0;
 		  }
 		  break;
@@ -142,7 +142,7 @@
 		{
 			sendto_one(sptr,
 			    ":%s NOTICE %s :*** Syntax: /SetIdent <new ident>",
-			    me.name, parv[0]);
+			    me.name, sptr->name);
 		}
 		return 1;
 	}
@@ -182,7 +182,7 @@
 	{
 		sendto_one(sptr,
 		    ":%s NOTICE %s :*** /SetIdent Error: A username may contain a-z, A-Z, 0-9, '-', '~' & '.' - Please only use them",
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
@@ -223,7 +223,7 @@
 	{
 		sendto_one(sptr,
 		    ":%s NOTICE %s :Your nick!user@host-mask is now (%s!%s@%s) - To disable ident set change it manually by /setident'ing again",
-		    me.name, parv[0], parv[0], sptr->user->username, GetHost(sptr));
+		    me.name, sptr->name, sptr->name, sptr->user->username, GetHost(sptr));
 	}
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_setname.c
--- a/src/modules/m_setname.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_setname.c	Fri May 24 05:19:25 2013 -0600
@@ -91,7 +91,7 @@
 
  	if ((parc < 2) || BadPtr(parv[1]))
  	{
- 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "SETNAME");
+ 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "SETNAME");
  		return 0;
 	}
 
diff -r b6c51515baa5 src/modules/m_silence.c
--- a/src/modules/m_silence.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_silence.c	Fri May 24 05:19:25 2013 -0600
@@ -114,7 +114,7 @@
 		    index(cp, '!') || index(cp, '*')))
 		{
 			sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name,
-			    parv[0], parv[1]);
+			    sptr->name, parv[1]);
 			return -1;
 		}
 		else
@@ -124,7 +124,7 @@
 		    (c != '-' && !add_silence(sptr, cp, 1)))
 		{
 			sendto_prefix_one(sptr, sptr, ":%s SILENCE %c%s",
-			    parv[0], c, cp);
+			    sptr->name, c, cp);
 			if (c == '-')
 				sendto_server(NULL, 0, 0, ":%s SILENCE * -%s",
 				    sptr->name, cp);
@@ -132,7 +132,7 @@
 	}
 	else if (parc < 3 || *parv[2] == '\0')
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name,
 		    "SILENCE");
 		return -1;
 	}
@@ -142,19 +142,19 @@
 		{
 			if (!del_silence(sptr, parv[2] + 1))
 				sendto_server(cptr, 0, 0, ":%s SILENCE %s :%s",
-				    parv[0], parv[1], parv[2]);
+				    sptr->name, parv[1], parv[2]);
 		}
 		else
 		{
 			(void)add_silence(sptr, parv[2], 1);
 			if (!MyClient(acptr))
 				sendto_one(acptr, ":%s SILENCE %s :%s",
-				    parv[0], parv[1], parv[2]);
+				    sptr->name, parv[1], parv[2]);
 		}
 	}
 	else
 	{
-		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name,
 		    parv[1]);
 		return -1;
 	}
diff -r b6c51515baa5 src/modules/m_squit.c
--- a/src/modules/m_squit.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_squit.c	Fri May 24 05:19:25 2013 -0600
@@ -90,7 +90,7 @@
 
 	if (!IsPrivileged(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
@@ -146,13 +146,13 @@
 	if (!acptr)
 	{
 		sendto_one(sptr, err_str(ERR_NOSUCHSERVER),
-		    me.name, parv[0], server);
+		    me.name, sptr->name, server);
 		return 0;
 	}
 	if (MyClient(sptr) && ((!OPCanGRoute(sptr) && !MyConnect(acptr)) ||
 	    (!OPCanLRoute(sptr) && MyConnect(acptr))))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	/*
diff -r b6c51515baa5 src/modules/m_stats.c
--- a/src/modules/m_stats.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_stats.c	Fri May 24 05:19:25 2013 -0600
@@ -387,7 +387,7 @@
 	if (parc < 2 || !*parv[1])
 	{
 		stats_help(sptr);
-		sendto_one(sptr, rpl_str(RPL_ENDOFSTATS), me.name, parv[0], '*');
+		sendto_one(sptr, rpl_str(RPL_ENDOFSTATS), me.name, sptr->name, '*');
 		return 0;
 	}
 
@@ -396,7 +396,7 @@
 	{
 		if (!IsAnOper(sptr) && stats_operonly_short(parv[1][0]))
 		{
-			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);	
+			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);	
 			return 0;
 		}	
 		/* Old style, we can use a binary search here */
@@ -406,7 +406,7 @@
 	{
 		if (!IsAnOper(sptr) && stats_operonly_long(parv[1]))
 		{
-			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);	
+			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);	
 			return 0;
 		}
 		/* New style, search the hard way */
@@ -419,7 +419,7 @@
 		{
 			if (!IsAnOper(sptr) && stats_operonly_long(stat->longflag))
 			{
-				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 				return 0;
 			}
 		}
@@ -428,7 +428,7 @@
 		{
 			if (!IsAnOper(sptr) && stats_operonly_short(stat->flag))
 			{
-				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);	
+				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);	
 				return 0;
 			}
 		}
@@ -455,7 +455,7 @@
 		}
 		else
 			stat->func(sptr, NULL);
-		sendto_one(sptr, rpl_str(RPL_ENDOFSTATS), me.name, parv[0], stat->flag);
+		sendto_one(sptr, rpl_str(RPL_ENDOFSTATS), me.name, sptr->name, stat->flag);
 		if (!IsULine(sptr))
 			sendto_snomask(SNO_EYES, "Stats \'%c\' requested by %s (%s@%s)",
 				stat->flag, sptr->name, sptr->user->username, GetHost(sptr));
@@ -466,7 +466,7 @@
 	else
 	{
 		stats_help(sptr);
-		sendto_one(sptr, rpl_str(RPL_ENDOFSTATS), me.name, parv[0], '*');
+		sendto_one(sptr, rpl_str(RPL_ENDOFSTATS), me.name, sptr->name, '*');
 		return 0;
 	}
 	return 0;
diff -r b6c51515baa5 src/modules/m_svsjoin.c
--- a/src/modules/m_svsjoin.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svsjoin.c	Fri May 24 05:19:25 2013 -0600
@@ -110,10 +110,10 @@
 	else
 	{
 		if (parc == 3)
-			sendto_one(acptr, ":%s SVSJOIN %s %s", parv[0],
+			sendto_one(acptr, ":%s SVSJOIN %s %s", sptr->name,
 			    parv[1], parv[2]);
 		else
-			sendto_one(acptr, ":%s SVSJOIN %s %s %s", parv[0],
+			sendto_one(acptr, ":%s SVSJOIN %s %s %s", sptr->name,
 				parv[1], parv[2], parv[3]);
 	}
 
diff -r b6c51515baa5 src/modules/m_svskill.c
--- a/src/modules/m_svskill.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svskill.c	Fri May 24 05:19:25 2013 -0600
@@ -107,7 +107,7 @@
 	if (!(acptr = find_person(parv[1], NULL)))
 		return 0;
 
-	sendto_server(cptr, 0, 0, ":%s SVSKILL %s :%s", parv[0], parv[1], comment);
+	sendto_server(cptr, 0, 0, ":%s SVSKILL %s :%s", sptr->name, parv[1], comment);
 
 	acptr->flags |= FLAGS_KILLED;
 
diff -r b6c51515baa5 src/modules/m_svsmode.c
--- a/src/modules/m_svsmode.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svsmode.c	Fri May 24 05:19:25 2013 -0600
@@ -558,11 +558,11 @@
 
 	if (parc > 3)
 		sendto_server(cptr, 0, 0, ":%s %s %s %s %s",
-		    parv[0], show_change ? "SVS2MODE" : "SVSMODE",
+		    sptr->name, show_change ? "SVS2MODE" : "SVSMODE",
 		    parv[1], parv[2], parv[3]);
 	else
 		sendto_server(cptr, 0, 0,  ":%s %s %s %s",
-		    parv[0], show_change ? "SVS2MODE" : "SVSMODE",
+		    sptr->name, show_change ? "SVS2MODE" : "SVSMODE",
 		    parv[1], parv[2]);
 
 	/* Here we trigger the same hooks that m_mode does and, likewise,
@@ -576,7 +576,7 @@
 		char buf[BUFSIZE];
 		send_umode(NULL, acptr, setflags, ALL_UMODES, buf);
 		if (MyClient(acptr) && buf[0] && buf[1])
-			sendto_one(acptr, ":%s MODE %s :%s", parv[0], parv[1], buf);
+			sendto_one(acptr, ":%s MODE %s :%s", sptr->name, parv[1], buf);
 	}
 
 	VERIFY_OPERCOUNT(acptr, "svsmodeX");
diff -r b6c51515baa5 src/modules/m_svsmotd.c
--- a/src/modules/m_svsmotd.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svsmotd.c	Fri May 24 05:19:25 2013 -0600
@@ -86,20 +86,20 @@
 
         if (!IsULine(sptr))
         {
-                sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+                sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
                 return 0;
         }
         if (parc < 2)
         {
                 sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-                    me.name, parv[0], "SVSMOTD");
+                    me.name, sptr->name, "SVSMOTD");
                 return 0;
         }
 
         if ((*parv[1] != '!') && parc < 3)
         {
                 sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-                    me.name, parv[0], "SVSMOTD");
+                    me.name, sptr->name, "SVSMOTD");
                 return 0;
         }
 
@@ -120,9 +120,9 @@
                   return 0;
         }
         if (parv[2])
-                sendto_server(cptr, 0, 0, ":%s SVSMOTD %s :%s", parv[0], parv[1], parv[2]);
+                sendto_server(cptr, 0, 0, ":%s SVSMOTD %s :%s", sptr->name, parv[1], parv[2]);
         else
-                sendto_server(cptr, 0, 0, ":%s SVSMOTD %s", parv[0], parv[1]);
+                sendto_server(cptr, 0, 0, ":%s SVSMOTD %s", sptr->name, parv[1]);
 
         if (conf == NULL)
         {
diff -r b6c51515baa5 src/modules/m_svsnolag.c
--- a/src/modules/m_svsnolag.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svsnolag.c	Fri May 24 05:19:25 2013 -0600
@@ -93,7 +93,7 @@
 
 	if (!MyClient(acptr))
 	{
-		sendto_one(acptr, ":%s %s %s %s", parv[0], cmd, parv[1], parv[2]);
+		sendto_one(acptr, ":%s %s %s %s", sptr->name, cmd, parv[1], parv[2]);
 		return 0;
 	}
 
diff -r b6c51515baa5 src/modules/m_svso.c
--- a/src/modules/m_svso.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svso.c	Fri May 24 05:19:25 2013 -0600
@@ -136,7 +136,7 @@
 
         if (!MyClient(acptr))
         {
-                sendto_one(acptr, ":%s SVSO %s %s", parv[0], parv[1], parv[2]);
+                sendto_one(acptr, ":%s SVSO %s %s", sptr->name, parv[1], parv[2]);
                 return 0;
         }
 
diff -r b6c51515baa5 src/modules/m_svspart.c
--- a/src/modules/m_svspart.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svspart.c	Fri May 24 05:19:25 2013 -0600
@@ -106,10 +106,10 @@
 	else
 	{
 		if (comment)
-			sendto_one(acptr, ":%s SVSPART %s %s :%s", parv[0],
+			sendto_one(acptr, ":%s SVSPART %s %s :%s", sptr->name,
 			    parv[1], parv[2], parv[3]);
 		else
-			sendto_one(acptr, ":%s SVSPART %s %s", parv[0],
+			sendto_one(acptr, ":%s SVSPART %s %s", sptr->name,
 			    parv[1], parv[2]);
 	}
 
diff -r b6c51515baa5 src/modules/m_svssilence.c
--- a/src/modules/m_svssilence.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svssilence.c	Fri May 24 05:19:25 2013 -0600
@@ -99,7 +99,7 @@
 	if (parc < 3 || BadPtr(parv[2]) || !(acptr = find_person(parv[1], NULL)))
 		return 0;
 	
-	sendto_server(sptr, 0, 0, ":%s SVSSILENCE %s :%s", parv[0], parv[1], parv[2]);
+	sendto_server(sptr, 0, 0, ":%s SVSSILENCE %s :%s", sptr->name, parv[1], parv[2]);
 
 	mine = MyClient(acptr) ? 1 : 0;
 
@@ -121,7 +121,7 @@
 			(c != '-' && !add_silence(acptr, cp, 0)))
 		{
 			if (mine)
-				sendto_prefix_one(acptr, acptr, ":%s SILENCE %c%s", parv[0], c, cp);
+				sendto_prefix_one(acptr, acptr, ":%s SILENCE %c%s", sptr->name, c, cp);
 		}
 	}
 	return 0;
diff -r b6c51515baa5 src/modules/m_svswatch.c
--- a/src/modules/m_svswatch.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_svswatch.c	Fri May 24 05:19:25 2013 -0600
@@ -100,7 +100,7 @@
 		do_cmd(acptr, acptr, "WATCH", 2, parv);
 	}
 	else
-		sendto_one(acptr, ":%s SVSWATCH %s :%s", parv[0], parv[1], parv[2]);
+		sendto_one(acptr, ":%s SVSWATCH %s :%s", sptr->name, parv[1], parv[2]);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_time.c
--- a/src/modules/m_time.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_time.c	Fri May 24 05:19:25 2013 -0600
@@ -86,7 +86,7 @@
 CMD_FUNC(m_time)
 {
 	if (hunt_server(cptr, sptr, ":%s TIME :%s", 1, parc, parv) == HUNTED_ISME)
-		sendto_one(sptr, rpl_str(RPL_TIME), me.name, parv[0], me.name,
+		sendto_one(sptr, rpl_str(RPL_TIME), me.name, sptr->name, me.name,
 		    date((long)0));
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_tkl.c
--- a/src/modules/m_tkl.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_tkl.c	Fri May 24 05:19:25 2013 -0600
@@ -398,7 +398,7 @@
 	}
 	if (!OPCanUnKline(sptr) && *parv[1] == '-')
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	return m_tkl_line(cptr, sptr, parc, parv, "k");
diff -r b6c51515baa5 src/modules/m_topic.c
--- a/src/modules/m_topic.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_topic.c	Fri May 24 05:19:25 2013 -0600
@@ -112,7 +112,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "TOPIC");
+		    me.name, sptr->name, "TOPIC");
 		return 0;
 	}
 	name = parv[1];
@@ -129,7 +129,7 @@
 				    parv[1], backupbuf);
 			}
 			sendto_one(sptr, rpl_str(ERR_NOSUCHCHANNEL),
-			    me.name, parv[0], name);
+			    me.name, sptr->name, name);
 			return 0;
 		}
 		
@@ -143,7 +143,7 @@
 			    && !OPCanSeeSecret(sptr) && !IsULine(sptr))
 			{
 				sendto_one(sptr, err_str(ERR_NOTONCHANNEL),
-				    me.name, parv[0], name);
+				    me.name, sptr->name, name);
 				return 0;
 			}
 			if (parc > 2)
@@ -162,20 +162,20 @@
 			if ((chptr->mode.mode & MODE_OPERONLY && !IsAnOper(sptr) && !ismember) ||
 			    (chptr->mode.mode & MODE_ADMONLY && !IsAdmin(sptr) && !ismember) ||
 			    (is_banned(sptr,chptr,BANCHK_JOIN) && !IsAnOper(sptr) && !ismember)) {
-				sendto_one(sptr, err_str(ERR_NOTONCHANNEL), me.name, parv[0], name);
+				sendto_one(sptr, err_str(ERR_NOTONCHANNEL), me.name, sptr->name, name);
 				return 0;
 			}
 			if (!chptr->topic)
 				sendto_one(sptr, rpl_str(RPL_NOTOPIC),
-				    me.name, parv[0], chptr->chname);
+				    me.name, sptr->name, chptr->chname);
 			else
 			{
 				sendto_one(sptr, rpl_str(RPL_TOPIC),
-				    me.name, parv[0],
+				    me.name, sptr->name,
 				    chptr->chname, chptr->topic);
 				sendto_one(sptr,
 				    rpl_str(RPL_TOPICWHOTIME), me.name,
-				    parv[0], chptr->chname,
+				    sptr->name, chptr->chname,
 				    chptr->topic_nick, chptr->topic_time);
 			}
 		}
@@ -213,10 +213,10 @@
 				chptr->topic_time = ttime;
 				RunHook4(HOOKTYPE_TOPIC, cptr, sptr, chptr, topic);
 				sendto_server(cptr, 0, 0, ":%s TOPIC %s %s %lu :%s",
-				    parv[0], chptr->chname, chptr->topic_nick,
+				    sptr->name, chptr->chname, chptr->topic_nick,
 				    chptr->topic_time, chptr->topic);
 				sendto_channel_butserv(chptr, sptr,
-				    ":%s TOPIC %s :%s", parv[0],
+				    ":%s TOPIC %s :%s", sptr->name,
 				    chptr->chname, chptr->topic);
 			}
 		}
@@ -235,7 +235,7 @@
 					{
 #endif
 					sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-					    me.name, parv[0], chptr->chname);
+					    me.name, sptr->name, chptr->chname);
 					return 0;
 #ifndef NO_OPEROVERRIDE
 					}
@@ -253,7 +253,7 @@
 					topicoverride(sptr, chptr, topic);
 				} else {
 					ircsnprintf(buf, sizeof(buf), "You cannot change the topic on %s while being banned", chptr->chname);
-					sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, parv[0], "TOPIC",  buf);
+					sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, sptr->name, "TOPIC",  buf);
 					return -1;
 				}
 			} else
@@ -267,7 +267,7 @@
 				} else {
 					/* With +m and -t, only voice and higher may change the topic */
 					ircsnprintf(buf, sizeof(buf), "Voice (+v) or higher is required in order to change the topic on %s (channel is +m)", chptr->chname);
-					sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, parv[0], "TOPIC",  buf);
+					sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, sptr->name, "TOPIC",  buf);
 					return -1;
 				}
 			}
@@ -321,15 +321,15 @@
 			else
 				chptr->topic_time = TStime();
 			sendto_server(cptr, 0, 0, ":%s TOPIC %s %s %lu :%s",
-			    parv[0], chptr->chname, chptr->topic_nick,
+			    sptr->name, chptr->chname, chptr->topic_nick,
 			    chptr->topic_time, chptr->topic);
 			sendto_channel_butserv(chptr, sptr,
-			    ":%s TOPIC %s :%s", parv[0], chptr->chname,
+			    ":%s TOPIC %s :%s", sptr->name, chptr->chname,
 			    chptr->topic);
 		}
 		else
 			sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED),
-			    me.name, parv[0], chptr->chname);
+			    me.name, sptr->name, chptr->chname);
 	}
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_trace.c
--- a/src/modules/m_trace.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_trace.c	Fri May 24 05:19:25 2013 -0600
@@ -107,11 +107,11 @@
 			if (strcasecmp(tname, me.name))
 			{
 				sendnotice(sptr, "You can only /TRACE local servers as a locop");
-				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 				return 0;
 			}
 		} else {
-			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 			return 0;
 		}
 	}
@@ -123,7 +123,7 @@
 		  aClient *ac2ptr;
 
 		  ac2ptr = find_client(tname, NULL);
-		  sendto_one(sptr, rpl_str(RPL_TRACELINK), me.name, parv[0],
+		  sendto_one(sptr, rpl_str(RPL_TRACELINK), me.name, sptr->name,
 		      version, debugmode, tname, ac2ptr->from->name);
 		  return 0;
 	  }
@@ -179,19 +179,19 @@
 		{
 		  case STAT_CONNECTING:
 			  sendto_one(sptr, rpl_str(RPL_TRACECONNECTING),
-			      me.name, parv[0], class, name);
+			      me.name, sptr->name, class, name);
 			  cnt++;
 			  break;
 		  case STAT_HANDSHAKE:
 			  sendto_one(sptr, rpl_str(RPL_TRACEHANDSHAKE), me.name,
-			      parv[0], class, name);
+			      sptr->name, class, name);
 			  cnt++;
 			  break;
 		  case STAT_ME:
 			  break;
 		  case STAT_UNKNOWN:
 			  sendto_one(sptr, rpl_str(RPL_TRACEUNKNOWN),
-			      me.name, parv[0], class, name);
+			      me.name, sptr->name, class, name);
 			  cnt++;
 			  break;
 		  case STAT_CLIENT:
@@ -210,13 +210,13 @@
 					  sendto_one(sptr,
 					      rpl_str(RPL_TRACEOPERATOR),
 					      me.name,
-					      parv[0], class, acptr->name,
+					      sptr->name, class, acptr->name,
 					      GetHost(acptr),
 					      now - acptr->lasttime);
 				  else
 					  sendto_one(sptr,
 					      rpl_str(RPL_TRACEUSER), me.name,
-					      parv[0], class, acptr->name,
+					      sptr->name, class, acptr->name,
 					      acptr->user->realhost,
 					      now - acptr->lasttime);
 				  cnt++;
@@ -225,14 +225,14 @@
 		  case STAT_SERVER:
 			  if (acptr->serv->user)
 				  sendto_one(sptr, rpl_str(RPL_TRACESERVER),
-				      me.name, parv[0], class, link_s[i],
+				      me.name, sptr->name, class, link_s[i],
 				      link_u[i], name, acptr->serv->by,
 				      acptr->serv->user->username,
 				      acptr->serv->user->realhost,
 				      now - acptr->lasttime);
 			  else
 				  sendto_one(sptr, rpl_str(RPL_TRACESERVER),
-				      me.name, parv[0], class, link_s[i],
+				      me.name, sptr->name, class, link_s[i],
 				      link_u[i], name, *(acptr->serv->by) ?
 				      acptr->serv->by : "*", "*", me.name,
 				      now - acptr->lasttime);
@@ -240,24 +240,24 @@
 			  break;
 		  case STAT_LOG:
 			  sendto_one(sptr, rpl_str(RPL_TRACELOG), me.name,
-			      parv[0], LOGFILE, acptr->port);
+			      sptr->name, LOGFILE, acptr->port);
 			  cnt++;
 			  break;
 #ifdef USE_SSL
 		  case STAT_SSL_CONNECT_HANDSHAKE:
 		  	sendto_one(sptr, rpl_str(RPL_TRACENEWTYPE), me.name,
-		  	 parv[0], "SSL-Connect-Handshake", name); 
+		  	 sptr->name, "SSL-Connect-Handshake", name); 
 			cnt++;
 			break;
 		  case STAT_SSL_ACCEPT_HANDSHAKE:
 		  	sendto_one(sptr, rpl_str(RPL_TRACENEWTYPE), me.name,
-		  	 parv[0], "SSL-Accept-Handshake", name); 
+		  	 sptr->name, "SSL-Accept-Handshake", name); 
 			cnt++;
 			break;
 #endif
 		  default:	/* ...we actually shouldn't come here... --msa */
 			  sendto_one(sptr, rpl_str(RPL_TRACENEWTYPE), me.name,
-			      parv[0], "<newtype>", name);
+			      sptr->name, "<newtype>", name);
 			  cnt++;
 			  break;
 		}
@@ -274,13 +274,13 @@
 		 * trace
 		 */
 		sendto_one(sptr, rpl_str(RPL_TRACESERVER),
-		    me.name, parv[0], "0", link_s[me.fd],
+		    me.name, sptr->name, "0", link_s[me.fd],
 		    link_u[me.fd], me.name, "*", "*", me.name, 0L);
 		return 0;
 	}
 	for (cltmp = conf_class; doall && cltmp; cltmp = (ConfigItem_class *) cltmp->next)
 	/*	if (cltmp->clients > 0) */
 			sendto_one(sptr, rpl_str(RPL_TRACECLASS), me.name,
-			    parv[0], cltmp->name ? cltmp->name : "[noname]", cltmp->clients);
+			    sptr->name, cltmp->name ? cltmp->name : "[noname]", cltmp->clients);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_tsctl.c
--- a/src/modules/m_tsctl.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_tsctl.c	Fri May 24 05:19:25 2013 -0600
@@ -96,7 +96,7 @@
 		goto doit;
 	if (!IsAdmin(sptr) && !IsCoAdmin(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
       doit:
@@ -105,7 +105,7 @@
 		if (*parv[1] == '\0')
 		{
 			sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-			    me.name, parv[0], "TSCTL");
+			    me.name, sptr->name, "TSCTL");
 			return 0;
 		}
 
@@ -113,7 +113,7 @@
 		{
 			if (!OPCanTSCtl(sptr))
                         {
-			    sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+			    sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 			    return 0;
 			}
 
@@ -192,13 +192,13 @@
 		{
 			if (!IsULine(sptr))
 			{
-				if (MyClient(sptr)) sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+				if (MyClient(sptr)) sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 				return 0;
 			}
 
 			if (!parv[2] || *parv[2] == '\0')
 			{
-				if (MyClient(sptr)) sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "TSCTL");
+				if (MyClient(sptr)) sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "TSCTL");
 				return 0;
 			}
 
@@ -221,7 +221,7 @@
 	}
 
 	//default: no parameter was entered
-	sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "TSCTL");
+	sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "TSCTL");
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_umode2.c
--- a/src/modules/m_umode2.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_umode2.c	Fri May 24 05:19:25 2013 -0600
@@ -85,8 +85,8 @@
 CMD_FUNC(m_umode2)
 {
 	char *xparv[5] = {
-		parv[0],
-		parv[0],
+		sptr->name,
+		sptr->name,
 		parv[1],
 		(parc > 3) ? parv[3] : NULL,
 		NULL
diff -r b6c51515baa5 src/modules/m_undccdeny.c
--- a/src/modules/m_undccdeny.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_undccdeny.c	Fri May 24 05:19:25 2013 -0600
@@ -86,27 +86,27 @@
 
 	if (!IsAnOper(sptr) || !OPCanDCCDeny(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
 	if (parc < 2)
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name,
 		    "UNDCCDENY");
 		return 0;
 	}
 
 	if (BadPtr(parv[1]))
 	{
-		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name,
 		    "UNDCCDENY");
 		return 0;
 	}
 /* If we find an exact match even if it is a wild card only remove the exact match -- codemastr */
 	if ((p = Find_deny_dcc(parv[1])) && p->flag.type2 == CONF_BAN_TYPE_TEMPORARY)
 	{
-		sendto_ops("%s removed a temp dccdeny for %s", parv[0],
+		sendto_ops("%s removed a temp dccdeny for %s", sptr->name,
 		    parv[1]);
 		DCCdeny_del(p);
 		return 1;
@@ -116,13 +116,13 @@
 	else if (dcc_del_wild_match(parv[1]) == 1)
 		sendto_ops
 		    ("%s removed a temp dccdeny for all dccdenys matching %s",
-		    parv[0], parv[1]);
+		    sptr->name, parv[1]);
 */
 /* If still no match, give an error */
 	else
 		sendto_one(sptr,
 		    "NOTICE %s :*** Unable to find a temp dccdeny matching %s",
-		    parv[0], parv[1]);
+		    sptr->name, parv[1]);
 	return 0;
 
 }
diff -r b6c51515baa5 src/modules/m_unkline.c
--- a/src/modules/m_unkline.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_unkline.c	Fri May 24 05:19:25 2013 -0600
@@ -87,10 +87,10 @@
 {
 	if (!MyClient(sptr) || !OPCanUnKline(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
-	sendto_one(sptr, ":%s NOTICE %s :Please use /kline -user@host", me.name, parv[0]);
+	sendto_one(sptr, ":%s NOTICE %s :Please use /kline -user@host", me.name, sptr->name);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_unzline.c
--- a/src/modules/m_unzline.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_unzline.c	Fri May 24 05:19:25 2013 -0600
@@ -88,11 +88,11 @@
 {
         if (!MyClient(sptr) || !OPCanZline(sptr))
         {
-                sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+                sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
                 return 0;
         }
 
-        sendto_one(sptr, ":%s NOTICE %s :Please use /zline -user@host", me.name, parv[0]);
+        sendto_one(sptr, ":%s NOTICE %s :Please use /zline -user@host", me.name, sptr->name);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_user.c
--- a/src/modules/m_user.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_user.c	Fri May 24 05:19:25 2013 -0600
@@ -109,10 +109,10 @@
 	    *parv[3] == '\0' || *parv[4] == '\0')
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "USER");
+		    me.name, sptr->name, "USER");
 		if (IsServer(cptr))
 			sendto_ops("bad USER param count for %s from %s",
-			    parv[0], get_client_name(cptr, FALSE));
+			    sptr->name, get_client_name(cptr, FALSE));
 		else
 			return 0;
 	}
@@ -174,7 +174,7 @@
 	if (!IsUnknown(sptr))
 	{
 		sendto_one(sptr, err_str(ERR_ALREADYREGISTRED),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
diff -r b6c51515baa5 src/modules/m_userhost.c
--- a/src/modules/m_userhost.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_userhost.c	Fri May 24 05:19:25 2013 -0600
@@ -92,7 +92,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, rpl_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "USERHOST");
+		    me.name, sptr->name, "USERHOST");
 		return 0;
 	}
 
@@ -130,7 +130,7 @@
 		cn = p;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_USERHOST), me.name, parv[0],
+	sendto_one(sptr, rpl_str(RPL_USERHOST), me.name, sptr->name,
 	    response[0], response[1], response[2], response[3], response[4]);
 
 	return 0;
diff -r b6c51515baa5 src/modules/m_userip.c
--- a/src/modules/m_userip.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_userip.c	Fri May 24 05:19:25 2013 -0600
@@ -97,7 +97,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, rpl_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "USERIP");
+		    me.name, sptr->name, "USERIP");
 		return 0;
 	}
 
@@ -141,7 +141,7 @@
 		cn = p;
 	}
 
-	sendto_one(sptr, rpl_str(RPL_USERIP), me.name, parv[0],
+	sendto_one(sptr, rpl_str(RPL_USERIP), me.name, sptr->name,
 	    response[0], response[1], response[2], response[3], response[4]);
 
 	return 0;
diff -r b6c51515baa5 src/modules/m_vhost.c
--- a/src/modules/m_vhost.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_vhost.c	Fri May 24 05:19:25 2013 -0600
@@ -89,7 +89,7 @@
 	if (parc < 3)
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "VHOST");
+		    me.name, sptr->name, "VHOST");
 		return 0;
 
 	}
diff -r b6c51515baa5 src/modules/m_wallops.c
--- a/src/modules/m_wallops.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_wallops.c	Fri May 24 05:19:25 2013 -0600
@@ -87,15 +87,15 @@
 	if (BadPtr(message))
 	{
 		sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
-		    me.name, parv[0], "WALLOPS");
+		    me.name, sptr->name, "WALLOPS");
 		return 0;
 	}
 	if (MyClient(sptr) && !OPCanWallOps(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	sendto_ops_butone(IsServer(cptr) ? cptr : NULL, sptr,
-	    ":%s WALLOPS :%s", parv[0], message);
+	    ":%s WALLOPS :%s", sptr->name, message);
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_watch.c
--- a/src/modules/m_watch.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_watch.c	Fri May 24 05:19:25 2013 -0600
@@ -213,7 +213,7 @@
 				    (lp = lp->next); count++)
 					;
 			sendto_one(sptr, rpl_str(RPL_WATCHSTAT), me.name,
-			    parv[0], sptr->watches, count);
+			    sptr->name, sptr->watches, count);
 
 			/*
 			 * Send a list of everybody in their WATCH list. Be careful
@@ -222,13 +222,13 @@
 			if ((lp = sptr->watch) == NULL)
 			{
 				sendto_one(sptr, rpl_str(RPL_ENDOFWATCHLIST),
-				    me.name, parv[0], *s);
+				    me.name, sptr->name, *s);
 				continue;
 			}
 			*buf = '\0';
 			strlcpy(buf, lp->value.wptr->nick, sizeof buf);
 			count =
-			    strlen(parv[0]) + strlen(me.name) + 10 +
+			    strlen(sptr->name) + strlen(me.name) + 10 +
 			    strlen(buf);
 			while ((lp = lp->next))
 			{
@@ -236,10 +236,10 @@
 				    BUFSIZE - 2)
 				{
 					sendto_one(sptr, rpl_str(RPL_WATCHLIST),
-					    me.name, parv[0], buf);
+					    me.name, sptr->name, buf);
 					*buf = '\0';
 					count =
-					    strlen(parv[0]) + strlen(me.name) +
+					    strlen(sptr->name) + strlen(me.name) +
 					    10;
 				}
 				strcat(buf, " ");
@@ -247,10 +247,10 @@
 				count += (strlen(lp->value.wptr->nick) + 1);
 			}
 			sendto_one(sptr, rpl_str(RPL_WATCHLIST), me.name,
-			    parv[0], buf);
+			    sptr->name, buf);
 
 			sendto_one(sptr, rpl_str(RPL_ENDOFWATCHLIST), me.name,
-			    parv[0], *s);
+			    sptr->name, *s);
 			continue;
 		}
 
@@ -271,7 +271,7 @@
 				    find_person(lp->value.wptr->nick, NULL)))
 				{
 					sendto_one(sptr, rpl_str(RPL_NOWON),
-					    me.name, parv[0], acptr->name,
+					    me.name, sptr->name, acptr->name,
 					    acptr->user->username,
 					    IsHidden(acptr) ? acptr->user->
 					    virthost : acptr->user->realhost,
@@ -283,14 +283,14 @@
 				 */
 				else if (isupper(*s))
 					sendto_one(sptr, rpl_str(RPL_NOWOFF),
-					    me.name, parv[0],
+					    me.name, sptr->name,
 					    lp->value.wptr->nick, "*", "*",
 					    lp->value.wptr->lasttime);
 				lp = lp->next;
 			}
 
 			sendto_one(sptr, rpl_str(RPL_ENDOFWATCHLIST), me.name,
-			    parv[0], *s);
+			    sptr->name, *s);
 
 			continue;
 		}
diff -r b6c51515baa5 src/modules/m_who.c
--- a/src/modules/m_who.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_who.c	Fri May 24 05:19:25 2013 -0600
@@ -152,7 +152,7 @@
 		i = parse_who_options(sptr, parc - 1, parv + 1);
 		if (i < 0)
 		{
-			sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], mask);
+			sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, sptr->name, mask);
 			return 0;
 		}
 	}
@@ -170,14 +170,14 @@
 	if (*mask == '\0')
 	{
 		/* no mask given */
-		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], "*");
+		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, sptr->name, "*");
 		return 0;
 	}
 
 	if ((target_channel = find_channel(mask, NULL)) != NULL)
 	{
 		do_channel_who(sptr, target_channel, mask);
-		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], mask);
+		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, sptr->name, mask);
 		return 0;
 	}
 
@@ -185,13 +185,13 @@
 	    (target_channel = find_channel(wfl.channel, NULL)) != NULL)
 	{
 		do_channel_who(sptr, target_channel, mask);
-		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], mask);
+		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, sptr->name, mask);
 		return 0;
 	}
 	else
 	{
 		do_other_who(sptr, mask);
-		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], mask);
+		sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, sptr->name, mask);
 		return 0;
 	}
 
diff -r b6c51515baa5 src/modules/m_whois.c
--- a/src/modules/m_whois.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_whois.c	Fri May 24 05:19:25 2013 -0600
@@ -102,7 +102,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NONICKNAMEGIVEN),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 
@@ -166,7 +166,7 @@
 				    sptr->user->username, sptr->user->realhost);
 			}
 			sendto_one(sptr, rpl_str(RPL_WHOISUSER), me.name,
-			    parv[0], name,
+			    sptr->name, name,
 			    user->username,
 			    IsHidden(acptr) ? user->virthost : user->realhost,
 			    acptr->info);
@@ -178,22 +178,22 @@
 				
 				/* send the target user's modes */
 				sendto_one(sptr, rpl_str(RPL_WHOISMODES),
-				    me.name, parv[0], name,
+				    me.name, sptr->name, name,
 				    get_mode_str(acptr), sno[1] == 0 ? "" : sno);
 			}
 			if ((acptr == sptr) || IsAnOper(sptr))
 			{
 				sendto_one(sptr, rpl_str(RPL_WHOISHOST),
-				    me.name, parv[0], acptr->name,
+				    me.name, sptr->name, acptr->name,
 					(MyConnect(acptr) && strcmp(acptr->username, "unknown")) ? acptr->username : "*",
 					user->realhost, user->ip_str ? user->ip_str : "");
 			}
 
 			if (IsARegNick(acptr))
-				sendto_one(sptr, rpl_str(RPL_WHOISREGNICK), me.name, parv[0], name);
+				sendto_one(sptr, rpl_str(RPL_WHOISREGNICK), me.name, sptr->name, name);
 			
 			found = 1;
-			mlen = strlen(me.name) + strlen(parv[0]) + 10 + strlen(name);
+			mlen = strlen(me.name) + strlen(sptr->name) + 10 + strlen(name);
 			for (len = 0, *buf = '\0', lp = user->channel; lp; lp = lp->next)
 			{
 				chptr = lp->chptr;
@@ -219,7 +219,7 @@
 						    ":%s %d %s %s :%s",
 						    me.name,
 						    RPL_WHOISCHANNELS,
-						    parv[0], name, buf);
+						    sptr->name, name, buf);
 						*buf = '\0';
 						len = 0;
 					}
@@ -275,16 +275,16 @@
 			}
 
 			if (buf[0] != '\0')
-				sendto_one(sptr, rpl_str(RPL_WHOISCHANNELS), me.name, parv[0], name, buf); 
+				sendto_one(sptr, rpl_str(RPL_WHOISCHANNELS), me.name, sptr->name, name, buf); 
 
                         if (!(IsULine(acptr) && !IsOper(sptr) && HIDE_ULINES))
 				sendto_one(sptr, rpl_str(RPL_WHOISSERVER),
-				    me.name, parv[0], name, user->server,
+				    me.name, sptr->name, name, user->server,
 				    a2cptr ? a2cptr->info : "*Not On This Net*");
 
 			if (user->away)
 				sendto_one(sptr, rpl_str(RPL_AWAY), me.name,
-				    parv[0], name, user->away);
+				    sptr->name, name, user->away);
 			/* makesure they aren't +H (we'll also check
 			   before we display a helpop or IRCD Coder msg)
 			   -- codemastr */
@@ -312,27 +312,27 @@
 					if (IsOper(sptr) && MyClient(acptr))
 						sendto_one(sptr,
 						    ":%s 313 %s %s :is %s (%s)", me.name,
-						    parv[0], name, buf, acptr->user->operlogin);
+						    sptr->name, name, buf, acptr->user->operlogin);
 					else
 						sendto_one(sptr,
 						    rpl_str(RPL_WHOISOPERATOR), me.name,
-						    parv[0], name, buf);
+						    sptr->name, name, buf);
 				}
 			}
 
 			if (IsHelpOp(acptr) && !hideoper && !user->away)
-				sendto_one(sptr, rpl_str(RPL_WHOISHELPOP), me.name, parv[0], name);
+				sendto_one(sptr, rpl_str(RPL_WHOISHELPOP), me.name, sptr->name, name);
 
 			if (acptr->umodes & UMODE_BOT)
-				sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, parv[0], name, ircnetwork);
+				sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, sptr->name, name, ircnetwork);
 
 			if (acptr->umodes & UMODE_SECURE)
-				sendto_one(sptr, rpl_str(RPL_WHOISSECURE), me.name, parv[0], name,
+				sendto_one(sptr, rpl_str(RPL_WHOISSECURE), me.name, sptr->name, name,
 					"is using a Secure Connection");
 
 			if (!BadPtr(user->swhois) && !hideoper)
 					sendto_one(sptr, ":%s %d %s %s :%s",
-					    me.name, RPL_WHOISSPECIAL, parv[0],
+					    me.name, RPL_WHOISSPECIAL, sptr->name,
 					    name, acptr->user->swhois);
 
 			/*
@@ -340,7 +340,7 @@
 			 * not a legacy timestamp.  --nenolod
 			 */
 			if (!isdigit(*user->svid))
-				sendto_one(sptr, rpl_str(RPL_WHOISLOGGEDIN), me.name, parv[0], name, user->svid);
+				sendto_one(sptr, rpl_str(RPL_WHOISLOGGEDIN), me.name, sptr->name, name, user->svid);
 
 			/*
 			 * Umode +I hides an oper's idle time from regular users.
@@ -349,15 +349,15 @@
 			if (MyConnect(acptr) && (IsAnOper(sptr) || !(acptr->umodes & UMODE_HIDLE)))
 			{
 				sendto_one(sptr, rpl_str(RPL_WHOISIDLE),
-				    me.name, parv[0], name,
+				    me.name, sptr->name, name,
 				    TStime() - acptr->last, acptr->firsttime);
 			}
 		}
 		if (!found)
 			sendto_one(sptr, err_str(ERR_NOSUCHNICK),
-			    me.name, parv[0], nick);
+			    me.name, sptr->name, nick);
 	}
-	sendto_one(sptr, rpl_str(RPL_ENDOFWHOIS), me.name, parv[0], querybuf);
+	sendto_one(sptr, rpl_str(RPL_ENDOFWHOIS), me.name, sptr->name, querybuf);
 
 	return 0;
 }
diff -r b6c51515baa5 src/modules/m_whowas.c
--- a/src/modules/m_whowas.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/modules/m_whowas.c	Fri May 24 05:19:25 2013 -0600
@@ -95,7 +95,7 @@
 	if (parc < 2)
 	{
 		sendto_one(sptr, err_str(ERR_NONICKNAMEGIVEN),
-		    me.name, parv[0]);
+		    me.name, sptr->name);
 		return 0;
 	}
 	if (parc > 2)
@@ -118,7 +118,7 @@
 		if (!mycmp(nick, temp->name))
 		{
 			sendto_one(sptr, rpl_str(RPL_WHOWASUSER),
-			    me.name, parv[0], temp->name,
+			    me.name, sptr->name, temp->name,
 			    temp->username,
 			    (IsOper(sptr) ? temp->hostname :
 			    (*temp->virthost !=
@@ -126,7 +126,7 @@
 			    temp->realname);
                 	if (!((Find_uline(temp->servername)) && !IsOper(sptr) && HIDE_ULINES))
 				sendto_one(sptr, rpl_str(RPL_WHOISSERVER), me.name,
-				    parv[0], temp->name, temp->servername,
+				    sptr->name, temp->name, temp->servername,
 				    myctime(temp->logoff));
 			cur++;
 			found++;
@@ -136,8 +136,8 @@
 	}
 	if (!found)
 		sendto_one(sptr, err_str(ERR_WASNOSUCHNICK),
-		    me.name, parv[0], nick);
+		    me.name, sptr->name, nick);
 
-	sendto_one(sptr, rpl_str(RPL_ENDOFWHOWAS), me.name, parv[0], parv[1]);
+	sendto_one(sptr, rpl_str(RPL_ENDOFWHOWAS), me.name, sptr->name, parv[1]);
 	return 0;
 }
diff -r b6c51515baa5 src/s_numeric.c
--- a/src/s_numeric.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/s_numeric.c	Fri May 24 05:19:25 2013 -0600
@@ -100,7 +100,7 @@
 	else
 		sendto_realops("do_numeric( %i, %s, %s, %i, { %s, %s } )!",
 		    numeric, cptr->name, sptr->name, parc,
-		    parv[0], parv[1] ? parv[1] : "<null>");
+		    sptr->name, parv[1] ? parv[1] : "<null>");
 	for (; (nick = strtoken(&p, parv[1], ",")); parv[1] = NULL)
 	{
 		if ((acptr = find_client(nick, (aClient *)NULL)))
@@ -128,21 +128,21 @@
 				 */
 
 				sendto_prefix_one(acptr, sptr, ":%s %d %s%s",
-				    parv[0], numeric, nick, buffer);
+				    sptr->name, numeric, nick, buffer);
 			}
 			else if (IsServer(acptr) && acptr->from != cptr)
 				sendto_prefix_one(acptr, sptr, ":%s %d %s%s",
-				    parv[0], numeric, nick, buffer);
+				    sptr->name, numeric, nick, buffer);
 		}
 		else if ((acptr = find_server_quick(nick)))
 		{
 			if (!IsMe(acptr) && acptr->from != cptr)
 				sendto_prefix_one(acptr, sptr, ":%s %d %s%s",
-				    parv[0], numeric, nick, buffer);
+				    sptr->name, numeric, nick, buffer);
 		}
 		else if ((chptr = find_channel(nick, (aChannel *)NULL)))
 			sendto_channel_butone(cptr, sptr, chptr, ":%s %d %s%s",
-			    parv[0], numeric, chptr->chname, buffer);
+			    sptr->name, numeric, chptr->chname, buffer);
 	}
 	return 0;
 }
diff -r b6c51515baa5 src/s_serv.c
--- a/src/s_serv.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/s_serv.c	Fri May 24 05:19:25 2013 -0600
@@ -184,7 +184,7 @@
 	if (hunt_server(cptr, sptr, ":%s VERSION :%s", 1, parc, parv) == HUNTED_ISME)
 	{
 		sendto_one(sptr, rpl_str(RPL_VERSION), me.name,
-		    parv[0], version, debugmode, me.name,
+		    sptr->name, version, debugmode, me.name,
 		    serveropts, extraflags ? extraflags : "",
 		    tainted ? "3" : "",
 		    (IsAnOper(sptr) ? MYOSNAME : "*"), UnrealProtocol);
@@ -335,15 +335,15 @@
 	{
 		while (*text)
 			sendto_one(sptr, rpl_str(RPL_INFO),
-			    me.name, parv[0], *text++);
+			    me.name, sptr->name, *text++);
 
-		sendto_one(sptr, rpl_str(RPL_INFO), me.name, parv[0], "");
+		sendto_one(sptr, rpl_str(RPL_INFO), me.name, sptr->name, "");
 		sendto_one(sptr,
 		    ":%s %d %s :Birth Date: %s, compile # %s",
-		    me.name, RPL_INFO, parv[0], creation, generation);
+		    me.name, RPL_INFO, sptr->name, creation, generation);
 		sendto_one(sptr, ":%s %d %s :On-line since %s",
-		    me.name, RPL_INFO, parv[0], myctime(me.firsttime));
-		sendto_one(sptr, rpl_str(RPL_ENDOFINFO), me.name, parv[0]);
+		    me.name, RPL_INFO, sptr->name, myctime(me.firsttime));
+		sendto_one(sptr, rpl_str(RPL_ENDOFINFO), me.name, sptr->name);
 	}
 
 	return 0;
@@ -362,10 +362,10 @@
 	{
 		while (*text)
 			sendto_one(sptr, rpl_str(RPL_INFO),
-			    me.name, parv[0], *text++);
+			    me.name, sptr->name, *text++);
 
-		sendto_one(sptr, rpl_str(RPL_INFO), me.name, parv[0], "");
-		sendto_one(sptr, rpl_str(RPL_ENDOFINFO), me.name, parv[0]);
+		sendto_one(sptr, rpl_str(RPL_INFO), me.name, sptr->name, "");
+		sendto_one(sptr, rpl_str(RPL_ENDOFINFO), me.name, sptr->name);
 	}
 
 	return 0;
@@ -384,15 +384,15 @@
 	{
 		while (*text)
 			sendto_one(sptr, rpl_str(RPL_INFO),
-			    me.name, parv[0], *text++);
+			    me.name, sptr->name, *text++);
 
-		sendto_one(sptr, rpl_str(RPL_INFO), me.name, parv[0], "");
+		sendto_one(sptr, rpl_str(RPL_INFO), me.name, sptr->name, "");
 		sendto_one(sptr,
 		    ":%s %d %s :Birth Date: %s, compile # %s",
-		    me.name, RPL_INFO, parv[0], creation, generation);
+		    me.name, RPL_INFO, sptr->name, creation, generation);
 		sendto_one(sptr, ":%s %d %s :On-line since %s",
-		    me.name, RPL_INFO, parv[0], myctime(me.firsttime));
-		sendto_one(sptr, rpl_str(RPL_ENDOFINFO), me.name, parv[0]);
+		    me.name, RPL_INFO, sptr->name, myctime(me.firsttime));
+		sendto_one(sptr, rpl_str(RPL_ENDOFINFO), me.name, sptr->name);
 	}
 
 	return 0;
@@ -461,7 +461,8 @@
 {
 	/* /summon is old and out dated, we just return an error as
 	 * required by RFC1459 -- codemastr
-	 */ sendto_one(sptr, err_str(ERR_SUMMONDISABLED), me.name, parv[0]);
+         */
+	sendto_one(sptr, err_str(ERR_SUMMONDISABLED), me.name, sptr->name);
 	return 0;
 }
 /*
@@ -473,7 +474,8 @@
 {
 	/* /users is out of date, just return an error as  required by
 	 * RFC1459 -- codemastr
-	 */ sendto_one(sptr, err_str(ERR_USERSDISABLED), me.name, parv[0]);
+         */
+	sendto_one(sptr, err_str(ERR_USERSDISABLED), me.name, sptr->name);
 	return 0;
 }
 /*
@@ -612,13 +614,13 @@
 
 	if (MyClient(sptr) && !OPCanRehash(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (!MyClient(sptr) && !IsNetAdmin(sptr)
 	    && !IsULine(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	x = 0;
@@ -643,7 +645,7 @@
 	if (cptr != sptr)
 	{
 #ifndef REMOTE_REHASH
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 #endif
 		if (parv[2] == NULL)
@@ -659,7 +661,7 @@
 			    me.name, sptr->name);
 			sendto_ops
 			    ("%s is remotely rehashing server config file",
-			    parv[0]);
+			    sptr->name);
 			reread_motdsandrules();
 			return rehash(cptr, sptr,
 			    (parc > 1) ? ((*parv[1] == 'q') ? 2 : 0) : 0);
@@ -684,7 +686,7 @@
 			 */
 			if (!IsNetAdmin(sptr))
 			{
-				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+				sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 				sendnotice(sptr, "'/REHASH -global' requires you to be NetAdmin");
 				return 0;
 			}
@@ -712,7 +714,7 @@
 
 		if (!IsAdmin(sptr) && !IsCoAdmin(sptr))
 		{
-			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+			sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 			return 0;
 		}
 
@@ -787,12 +789,12 @@
 				me.name, sptr->name);
 			return 0;
 		}
-		sendto_ops("%s is rehashing server config file", parv[0]);
+		sendto_ops("%s is rehashing server config file", sptr->name);
 	}
 
 	/* Normal rehash, rehash motds&rules too, just like the on in the tld block will :p */
 	if (cptr == sptr)
-		sendto_one(sptr, rpl_str(RPL_REHASHING), me.name, parv[0], configfile);
+		sendto_one(sptr, rpl_str(RPL_REHASHING), me.name, sptr->name, configfile);
 	x = rehash(cptr, sptr, (parc > 1) ? ((*parv[1] == 'q') ? 2 : 0) : 0);
 	reread_motdsandrules();
 	return x;
@@ -815,12 +817,12 @@
 	/* Check permissions */
 	if (MyClient(sptr) && !OPCanRestart(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 	if (!MyClient(sptr) && !IsNetAdmin(sptr) && !IsULine(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
@@ -834,7 +836,7 @@
 	{
 		if (conf_drpass)
 		{
-			sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "RESTART");
+			sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "RESTART");
 			return 0;
 		}
 	} else
@@ -847,7 +849,7 @@
 			ret = Auth_Check(cptr, conf_drpass->restartauth, parv[1]);
 			if (ret == -1)
 			{
-				sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name, parv[0]);
+				sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name, sptr->name);
 				return 0;
 			}
 			if (ret < 1)
@@ -855,7 +857,7 @@
 			reason = parv[2];
 		}
 	}
-	sendto_ops("Server is Restarting by request of %s", parv[0]);
+	sendto_ops("Server is Restarting by request of %s", sptr->name);
 
 	list_for_each_entry(acptr, &lclient_list, lclient_node)
 	{
@@ -1170,7 +1172,7 @@
 	int  i;
 	if (!MyClient(sptr) || !OPCanDie(sptr))
 	{
-		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
 		return 0;
 	}
 
@@ -1179,14 +1181,14 @@
 		if (parc < 2)	/* And if so, require a password :) */
 		{
 			sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name,
-			    parv[0], "DIE");
+			    sptr->name, "DIE");
 			return 0;
 		}
 		i = Auth_Check(cptr, conf_drpass->dieauth, parv[1]);
 		if (i == -1)
 		{
 			sendto_one(sptr, err_str(ERR_PASSWDMISMATCH), me.name,
-			    parv[0]);
+			    sptr->name);
 			return 0;
 		}
 		if (i < 1)
@@ -1196,7 +1198,7 @@
 	}
 
 	/* Let the +s know what is going on */
-	sendto_ops("Server Terminating by request of %s", parv[0]);
+	sendto_ops("Server Terminating by request of %s", sptr->name);
 
 	list_for_each_entry(acptr, &lclient_list, lclient_node)
 	{
diff -r b6c51515baa5 src/s_svs.c
--- a/src/s_svs.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/s_svs.c	Fri May 24 05:19:25 2013 -0600
@@ -231,14 +231,14 @@
 	if (!(alias = Find_alias(cmd))) 
 	{
 		sendto_one(sptr, ":%s %d %s %s :Unknown command",
-			me.name, ERR_UNKNOWNCOMMAND, parv[0], cmd);
+			me.name, ERR_UNKNOWNCOMMAND, sptr->name, cmd);
 		return 0;
 	}
 	
 	/* If it isn't an ALIAS_COMMAND, we require a paramter ... We check ALIAS_COMMAND LATER */
 	if (alias->type != ALIAS_COMMAND && (parc < 2 || *parv[1] == '\0'))
 	{
-		sendto_one(sptr, err_str(ERR_NOTEXTTOSEND), me.name, parv[0]);
+		sendto_one(sptr, err_str(ERR_NOTEXTTOSEND), me.name, sptr->name);
 		return -1;
 	}
 
@@ -248,12 +248,12 @@
 		{
 			if (alias->spamfilter && (ret = dospamfilter(sptr, parv[1], SPAMF_USERMSG, alias->nick, 0, NULL)) < 0)
 				return ret;
-			sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", parv[0],
+			sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", sptr->name,
 				alias->nick, SERVICES_NAME, parv[1]);
 		}
 		else
 			sendto_one(sptr, err_str(ERR_SERVICESDOWN), me.name,
-				parv[0], alias->nick);
+				sptr->name, alias->nick);
 	}
 	else if (alias->type == ALIAS_STATS) 
 	{
@@ -261,12 +261,12 @@
 		{
 			if (alias->spamfilter && (ret = dospamfilter(sptr, parv[1], SPAMF_USERMSG, alias->nick, 0, NULL)) < 0)
 				return ret;
-			sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", parv[0],
+			sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", sptr->name,
 				alias->nick, STATS_SERVER, parv[1]);
 		}
 		else
 			sendto_one(sptr, err_str(ERR_SERVICESDOWN), me.name,
-				parv[0], alias->nick);
+				sptr->name, alias->nick);
 	}
 	else if (alias->type == ALIAS_NORMAL) 
 	{
@@ -275,16 +275,16 @@
 			if (alias->spamfilter && (ret = dospamfilter(sptr, parv[1], SPAMF_USERMSG, alias->nick, 0, NULL)) < 0)
 				return ret;
 			if (MyClient(acptr))
-				sendto_one(acptr, ":%s!%s@%s PRIVMSG %s :%s", parv[0], 
+				sendto_one(acptr, ":%s!%s@%s PRIVMSG %s :%s", sptr->name, 
 					sptr->user->username, GetHost(sptr),
 					alias->nick, parv[1]);
 			else
-				sendto_one(acptr, ":%s PRIVMSG %s :%s", parv[0],
+				sendto_one(acptr, ":%s PRIVMSG %s :%s", sptr->name,
 					alias->nick, parv[1]);
 		}
 		else
 			sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name,
-				parv[0], alias->nick);
+				sptr->name, alias->nick);
 	}
 	else if (alias->type == ALIAS_CHANNEL)
 	{
@@ -297,12 +297,12 @@
 					return ret;
 				sendto_channelprefix_butone(sptr,
 				    sptr, chptr, PREFIX_ALL,
-                                    ":%s PRIVMSG %s :%s", parv[0],
+                                    ":%s PRIVMSG %s :%s", sptr->name,
 				    chptr->chname, parv[1]);
 				return 0;
 			}
 		}
-		sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, parv[0],
+		sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, sptr->name,
 				cmd, "You may not use this command at this time");
 	}
 	else if (alias->type == ALIAS_COMMAND) 
@@ -355,8 +355,8 @@
 						else if (format->parameters[i] == 'n' ||
 							 format->parameters[i] == 'N')
 						{
-							strlcat(output, parv[0], sizeof output);
-							j += strlen(parv[0]);
+							strlcat(output, sptr->name, sizeof output);
+							j += strlen(sptr->name);
 						}
 						else 
 						{
@@ -382,11 +382,11 @@
 					{
 						if (alias->spamfilter && (ret = dospamfilter(sptr, output, SPAMF_USERMSG, format->nick, 0, NULL)) < 0)
 							return ret;
-						sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", parv[0],
+						sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", sptr->name,
 							format->nick, SERVICES_NAME, output);
 					} else
 						sendto_one(sptr, err_str(ERR_SERVICESDOWN), me.name,
-							parv[0], format->nick);
+							sptr->name, format->nick);
 				}
 				else if (format->type == ALIAS_STATS) 
 				{
@@ -394,11 +394,11 @@
 					{
 						if (alias->spamfilter && (ret = dospamfilter(sptr, output, SPAMF_USERMSG, format->nick, 0, NULL)) < 0)
 							return ret;
-						sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", parv[0],
+						sendto_one(acptr, ":%s PRIVMSG %s@%s :%s", sptr->name,
 							format->nick, STATS_SERVER, output);
 					} else
 						sendto_one(sptr, err_str(ERR_SERVICESDOWN), me.name,
-							parv[0], format->nick);
+							sptr->name, format->nick);
 				}
 				else if (format->type == ALIAS_NORMAL) 
 				{
@@ -407,16 +407,16 @@
 						if (alias->spamfilter && (ret = dospamfilter(sptr, output, SPAMF_USERMSG, format->nick, 0, NULL)) < 0)
 							return ret;
 						if (MyClient(acptr))
-							sendto_one(acptr, ":%s!%s@%s PRIVMSG %s :%s", parv[0], 
+							sendto_one(acptr, ":%s!%s@%s PRIVMSG %s :%s", sptr->name, 
 							sptr->user->username, IsHidden(sptr) ? sptr->user->virthost : sptr->user->realhost,
 							format->nick, output);
 						else
-							sendto_one(acptr, ":%s PRIVMSG %s :%s", parv[0],
+							sendto_one(acptr, ":%s PRIVMSG %s :%s", sptr->name,
 								format->nick, output);
 					}
 					else
 						sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name,
-							parv[0], format->nick);
+							sptr->name, format->nick);
 				}
 				else if (format->type == ALIAS_CHANNEL)
 				{
@@ -429,13 +429,13 @@
 								return ret;
 							sendto_channelprefix_butone(sptr,
 							    sptr, chptr, PREFIX_ALL,
-			                                    ":%s PRIVMSG %s :%s", parv[0],
+			                                    ":%s PRIVMSG %s :%s", sptr->name,
 							    chptr->chname, parv[1]);
 							return 0;
 						}
 					}
 					sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name,
-						 parv[0], cmd, 
+						 sptr->name, cmd, 
 						"You may not use this command at this time");
 				}
 				else if (format->type == ALIAS_REAL)
@@ -447,7 +447,7 @@
 
 					if (recursive_alias)
 					{
-						sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, parv[0], cmd, "You may not use this command at this time -- recursion");
+						sendto_one(sptr, err_str(ERR_CANNOTDOCOMMAND), me.name, sptr->name, cmd, "You may not use this command at this time -- recursion");
 						return -1;
 					}
 
diff -r b6c51515baa5 src/s_user.c
--- a/src/s_user.c	Thu May 23 23:10:50 2013 +0000
+++ b/src/s_user.c	Fri May 24 05:19:25 2013 -0600
@@ -280,13 +280,13 @@
 			return HUNTED_ISME;
 		if (match(acptr->name, parv[server]))
 			parv[server] = acptr->name;
-		sendto_one(acptr, command, parv[0],
+		sendto_one(acptr, command, sptr->name,
 		    parv[1], parv[2], parv[3], parv[4],
 		    parv[5], parv[6], parv[7], parv[8]);
 		return (HUNTED_PASS);
 	}
 	sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name,
-	    parv[0], parv[server]);
+	    sptr->name, parv[server]);
 	return (HUNTED_NOSUCH);
 }
 
