|
@@ -2409,7 +2409,6 @@ int intif_parse_Mail_delete(int fd)
|
|
uint32 char_id = RFIFOL(fd,2);
|
|
uint32 char_id = RFIFOL(fd,2);
|
|
int mail_id = RFIFOL(fd,6);
|
|
int mail_id = RFIFOL(fd,6);
|
|
bool failed = RFIFOB(fd,10);
|
|
bool failed = RFIFOB(fd,10);
|
|
- enum mail_inbox_type type;
|
|
|
|
|
|
|
|
struct map_session_data *sd = map_charid2sd(char_id);
|
|
struct map_session_data *sd = map_charid2sd(char_id);
|
|
if (sd == NULL)
|
|
if (sd == NULL)
|
|
@@ -2424,14 +2423,14 @@ int intif_parse_Mail_delete(int fd)
|
|
ARR_FIND(0, MAIL_MAX_INBOX, i, sd->mail.inbox.msg[i].id == mail_id);
|
|
ARR_FIND(0, MAIL_MAX_INBOX, i, sd->mail.inbox.msg[i].id == mail_id);
|
|
if( i < MAIL_MAX_INBOX )
|
|
if( i < MAIL_MAX_INBOX )
|
|
{
|
|
{
|
|
|
|
+ enum mail_inbox_type type = sd->mail.inbox.msg[i].type;
|
|
clif_mail_delete(sd, &sd->mail.inbox.msg[i], !failed);
|
|
clif_mail_delete(sd, &sd->mail.inbox.msg[i], !failed);
|
|
- type = sd->mail.inbox.msg[i].type;
|
|
|
|
memset(&sd->mail.inbox.msg[i], 0, sizeof(struct mail_message));
|
|
memset(&sd->mail.inbox.msg[i], 0, sizeof(struct mail_message));
|
|
sd->mail.inbox.amount--;
|
|
sd->mail.inbox.amount--;
|
|
- }
|
|
|
|
|
|
|
|
- if( sd->mail.inbox.full || sd->mail.inbox.unchecked > 0 )
|
|
|
|
- intif_Mail_requestinbox(sd->status.char_id, 1, type); // Free space is available for new mails
|
|
|
|
|
|
+ if( sd->mail.inbox.full || sd->mail.inbox.unchecked > 0 )
|
|
|
|
+ intif_Mail_requestinbox(sd->status.char_id, 1, type); // Free space is available for new mails
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return 1;
|
|
return 1;
|
|
@@ -2471,7 +2470,6 @@ int intif_parse_Mail_return(int fd)
|
|
struct map_session_data *sd = map_charid2sd(RFIFOL(fd,2));
|
|
struct map_session_data *sd = map_charid2sd(RFIFOL(fd,2));
|
|
int mail_id = RFIFOL(fd,6);
|
|
int mail_id = RFIFOL(fd,6);
|
|
short fail = RFIFOB(fd,10);
|
|
short fail = RFIFOB(fd,10);
|
|
- enum mail_inbox_type type;
|
|
|
|
|
|
|
|
if( sd == NULL )
|
|
if( sd == NULL )
|
|
{
|
|
{
|
|
@@ -2485,13 +2483,13 @@ int intif_parse_Mail_return(int fd)
|
|
ARR_FIND(0, MAIL_MAX_INBOX, i, sd->mail.inbox.msg[i].id == mail_id);
|
|
ARR_FIND(0, MAIL_MAX_INBOX, i, sd->mail.inbox.msg[i].id == mail_id);
|
|
if( i < MAIL_MAX_INBOX )
|
|
if( i < MAIL_MAX_INBOX )
|
|
{
|
|
{
|
|
- type = sd->mail.inbox.msg[i].type;
|
|
|
|
|
|
+ enum mail_inbox_type type = sd->mail.inbox.msg[i].type;
|
|
memset(&sd->mail.inbox.msg[i], 0, sizeof(struct mail_message));
|
|
memset(&sd->mail.inbox.msg[i], 0, sizeof(struct mail_message));
|
|
sd->mail.inbox.amount--;
|
|
sd->mail.inbox.amount--;
|
|
- }
|
|
|
|
|
|
|
|
- if( sd->mail.inbox.full )
|
|
|
|
- intif_Mail_requestinbox(sd->status.char_id, 1, type); // Free space is available for new mails
|
|
|
|
|
|
+ if( sd->mail.inbox.full )
|
|
|
|
+ intif_Mail_requestinbox(sd->status.char_id, 1, type); // Free space is available for new mails
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
clif_Mail_return(sd->fd, mail_id, fail);
|
|
clif_Mail_return(sd->fd, mail_id, fail);
|