Browse Source

- Fixed map-sql compilation issue ~.~;

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7619 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 years ago
parent
commit
14866f881c
1 changed files with 12 additions and 17 deletions
  1. 12 17
      src/map/mail.c

+ 12 - 17
src/map/mail.c

@@ -302,11 +302,18 @@ int mail_send(struct map_session_data *sd, char *name, char *message, int flag)
 	return 0;
 }
 
-int mail_check_timer(int tid,unsigned int tick,int id,int data)
+static int mail_check_timer_sub(struct map_session_data *sd, va_list va)
 {
-	struct map_session_data *sd = NULL;
-	int i;
+	int id = va_arg(va, int);
+	if(pc_isGM(sd) < 80 && sd->mail_counter > 0)
+		sd->mail_counter--;
+	if(sd->status.account_id==id)
+		clif_displaymessage(sd->fd, msg_txt(526)); //you got new email.
+	return 0;
+}
 
+int mail_check_timer(int tid,unsigned int tick,int id,int data)
+{
 	if(mail_timer != tid)
 		return 0;
 
@@ -328,20 +335,8 @@ int mail_check_timer(int tid,unsigned int tick,int id,int data)
 			return 0;
 		}
 
-		while ((mail_row = mysql_fetch_row(mail_res))) {
-			for (i = 0; i < fd_max; i++) {
-				if (session[i] && session[i]->func_parse == clif_parse &&	
-					(sd = (struct map_session_data *) session[i]->session_data) &&
-					sd->state.auth)
-				{
-					if(pc_isGM(sd) < 80 && sd->mail_counter > 0)
-						sd->mail_counter--;
-					if(sd->status.account_id==atoi(mail_row[0]))
-						//clif_displaymessage(sd->fd, "You have new mail.");
-						clif_displaymessage(sd->fd, msg_txt(526));
-				}
-			}
-		}
+		while ((mail_row = mysql_fetch_row(mail_res)))
+			clif_foreachclient(mail_check_timer_sub, atoi(mail_row[0]));
 	}
 
 	sprintf(tmp_sql,"UPDATE `%s` SET `check_flag`='1' WHERE `check_flag`= '0' ", mail_db);