[8757] Remove unused item_slot field, avoid spam at non comlete packet read.

This commit is contained in:
VladimirMangos 2009-10-31 13:45:35 +03:00
parent 887723f105
commit 94205e5733
3 changed files with 44 additions and 52 deletions

View file

@ -78,19 +78,16 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data )
if(items_count > 12) // client limit if(items_count > 12) // client limit
{ {
GetPlayer()->SendMailResult(0, MAIL_SEND, MAIL_ERR_TOO_MANY_ATTACHMENTS); GetPlayer()->SendMailResult(0, MAIL_SEND, MAIL_ERR_TOO_MANY_ATTACHMENTS);
recv_data.rpos(recv_data.wpos()); // set to end to avoid warnings spam
return; return;
} }
if(items_count)
{
for(uint8 i = 0; i < items_count; ++i) for(uint8 i = 0; i < items_count; ++i)
{ {
uint8 item_slot;
uint64 item_guid; uint64 item_guid;
recv_data >> item_slot; recv_data.read_skip<uint8>(); // item slot in mail, not used
recv_data >> item_guid; recv_data >> item_guid;
mi.AddItem(GUID_LOPART(item_guid), item_slot); mi.AddItem(GUID_LOPART(item_guid));
}
} }
recv_data >> money >> COD; // money and cod recv_data >> money >> COD; // money and cod
@ -176,8 +173,6 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data )
else else
rc_account = objmgr.GetPlayerAccountIdByGUID(rc); rc_account = objmgr.GetPlayerAccountIdByGUID(rc);
if (items_count)
{
for(MailItemMap::iterator mailItemIter = mi.begin(); mailItemIter != mi.end(); ++mailItemIter) for(MailItemMap::iterator mailItemIter = mi.begin(); mailItemIter != mi.end(); ++mailItemIter)
{ {
MailItem& mailItem = mailItemIter->second; MailItem& mailItem = mailItemIter->second;
@ -220,7 +215,7 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data )
return; return;
} }
} }
}
pl->SendMailResult(0, MAIL_SEND, MAIL_OK); pl->SendMailResult(0, MAIL_SEND, MAIL_OK);
uint32 itemTextId = 0; uint32 itemTextId = 0;

View file

@ -82,9 +82,8 @@ struct MailItemInfo
struct MailItem struct MailItem
{ {
MailItem() : item_slot(0), item_guidlow(0), item_template(0), item(NULL) {} MailItem() : item_guidlow(0), item_template(0), item(NULL) {}
uint8 item_slot; // slot in mail
uint32 item_guidlow; // item guid (low part) uint32 item_guidlow; // item guid (low part)
uint32 item_template; // item entry uint32 item_template; // item entry
Item *item; // item pointer Item *item; // item pointer
@ -102,21 +101,19 @@ class MailItemsInfo
MailItemMap::iterator begin() { return i_MailItemMap.begin(); } MailItemMap::iterator begin() { return i_MailItemMap.begin(); }
MailItemMap::iterator end() { return i_MailItemMap.end(); } MailItemMap::iterator end() { return i_MailItemMap.end(); }
void AddItem(uint32 guidlow, uint32 _template, Item *item, uint8 slot = 0) void AddItem(uint32 guidlow, uint32 _template, Item *item)
{ {
MailItem mailItem; MailItem mailItem;
mailItem.item_slot = slot;
mailItem.item_guidlow = guidlow; mailItem.item_guidlow = guidlow;
mailItem.item_template = _template; mailItem.item_template = _template;
mailItem.item = item; mailItem.item = item;
i_MailItemMap[guidlow] = mailItem; i_MailItemMap[guidlow] = mailItem;
} }
void AddItem(uint32 guidlow, uint8 slot = 0) void AddItem(uint32 guidlow)
{ {
MailItem mailItem; MailItem mailItem;
mailItem.item_guidlow = guidlow; mailItem.item_guidlow = guidlow;
mailItem.item_slot = slot;
i_MailItemMap[guidlow] = mailItem; i_MailItemMap[guidlow] = mailItem;
} }

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8756" #define REVISION_NR "8757"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__