[7893] Fixed work chat guild commands that expect guild name in args. Now guild name always must be in "".

This commit is contained in:
VladimirMangos 2009-05-25 06:29:31 +04:00
parent 4e1166ded5
commit f271fd6819
8 changed files with 68 additions and 87 deletions

View file

@ -3169,14 +3169,20 @@ bool ChatHandler::HandleLookupTaxiNodeCommand(const char * args)
*/
bool ChatHandler::HandleGuildCreateCommand(const char* args)
{
char* nameStr;
char* guildStr;
extractOptFirstArg((char*)args,&nameStr,&guildStr);
if(!guildStr)
if(!*args)
return false;
// if not guild name only (in "") then player name
Player* target;
if(!extractPlayerTarget(*args!='"' ? (char*)args : NULL, &target))
return false;
Player* target;
if(!extractPlayerTarget(nameStr,&target))
char* tailStr = *args!='"' ? strtok(NULL, "") : (char*)args;
if(!tailStr)
return false;
char* guildStr = extractQuotedArg(tailStr);
if(!guildStr)
return false;
std::string guildname = guildStr;
@ -3202,17 +3208,23 @@ bool ChatHandler::HandleGuildCreateCommand(const char* args)
bool ChatHandler::HandleGuildInviteCommand(const char *args)
{
char* nameStr;
char* guildNameStr;
extractOptFirstArg((char*)args,&nameStr,&guildNameStr);
if(!guildNameStr)
return false;
if(!*args)
return false;
// if not guild name only (in "") then player name
uint64 target_guid;
if(!extractPlayerTarget(nameStr,NULL,&target_guid))
if(!extractPlayerTarget(*args!='"' ? (char*)args : NULL, NULL, &target_guid))
return false;
std::string glName = guildNameStr;
char* tailStr = *args!='"' ? strtok(NULL, "") : (char*)args;
if(!tailStr)
return false;
char* guildStr = extractQuotedArg(tailStr);
if(!guildStr)
return false;
std::string glName = guildStr;
Guild* targetGuild = objmgr.GetGuildByName (glName);
if (!targetGuild)
return false;
@ -3278,11 +3290,11 @@ bool ChatHandler::HandleGuildDeleteCommand(const char* args)
if (!*args)
return false;
char* par1 = strtok ((char*)args, " ");
if (!par1)
char* guildStr = extractQuotedArg((char*)args);
if(!guildStr)
return false;
std::string gld = par1;
std::string gld = guildStr;
Guild* targetGuild = objmgr.GetGuildByName (gld);
if (!targetGuild)
@ -6296,17 +6308,7 @@ bool ChatHandler::HandleSendItemsCommand(const char* args)
if(!tail1)
return false;
char* msgSubject;
if(*tail1=='"')
msgSubject = strtok(tail1+1, "\"");
else
{
char* space = strtok(tail1, "\"");
if(!space)
return false;
msgSubject = strtok(NULL, "\"");
}
char* msgSubject = extractQuotedArg(tail1);
if (!msgSubject)
return false;
@ -6314,17 +6316,7 @@ bool ChatHandler::HandleSendItemsCommand(const char* args)
if(!tail2)
return false;
char* msgText;
if(*tail2=='"')
msgText = strtok(tail2+1, "\"");
else
{
char* space = strtok(tail2, "\"");
if(!space)
return false;
msgText = strtok(NULL, "\"");
}
char* msgText = extractQuotedArg(tail2);
if (!msgText)
return false;
@ -6427,17 +6419,7 @@ bool ChatHandler::HandleSendMoneyCommand(const char* args)
if (!tail1)
return false;
char* msgSubject;
if (*tail1=='"')
msgSubject = strtok(tail1+1, "\"");
else
{
char* space = strtok(tail1, "\"");
if (!space)
return false;
msgSubject = strtok(NULL, "\"");
}
char* msgSubject = extractQuotedArg(tail1);
if (!msgSubject)
return false;
@ -6445,17 +6427,7 @@ bool ChatHandler::HandleSendMoneyCommand(const char* args)
if (!tail2)
return false;
char* msgText;
if (*tail2=='"')
msgText = strtok(tail2+1, "\"");
else
{
char* space = strtok(tail2, "\"");
if (!space)
return false;
msgText = strtok(NULL, "\"");
}
char* msgText = extractQuotedArg(tail2);
if (!msgText)
return false;