--- .snapshot/hourly.0/s_user.c Thu Oct 7 02:16:47 2004 +++ s_user.c Fri Oct 8 13:55:09 2004 @@ -2877,15 +2877,21 @@ int m_ping(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aClient *acptr; - char *destination; + char *origin, *destination; + origin = parv[1]; destination = parv[2]; /* Will get NULL or pointer (parc >= 2!!) */ + acptr = find_client(origin, NULL); + if (!acptr) + acptr = find_server(origin, NULL); + if (!acptr || acptr != sptr) + origin = cptr->name; if (!BadPtr(destination) && match(destination, ME) != 0) { if ((acptr = find_server(destination, NULL))) sendto_one(acptr, ":%s PING %s :%s", parv[0], - cptr->name, destination); + origin, destination); else { sendto_one(sptr, replies[ERR_NOSUCHSERVER],