From da40dffa8f2fc4bb37b08142a83974c48aa374cc Mon Sep 17 00:00:00 2001 From: amber Date: Tue, 30 Nov 2004 02:37:15 +0000 Subject: fixed another char crash git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@418 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/char_sql/char.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/char_sql/char.c b/src/char_sql/char.c index f944eeb58..c23c45bdb 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -201,10 +201,12 @@ void set_char_offline(int char_id, int account_id) { if (mysql_query(&mysql_handle, tmp_sql)) printf("DB server Error (set_char_offline)- %s\n", mysql_error(&mysql_handle)); + if (login_fd <= 0 || session[login_fd]->eof) + return; + WFIFOW(login_fd,0) = 0x272c; WFIFOL(login_fd,2) = account_id; WFIFOSET(login_fd,6); - } //----------------------------------------------------- @@ -2048,12 +2050,13 @@ int parse_char(int fd) { sd = session[fd]->session_data; - if(login_fd < 0) + if(login_fd < 0) session[fd]->eof = 1; if(session[fd]->eof) { if (fd == login_fd) login_fd = -1; - set_char_offline(99,sd->account_id); + if (sd != NULL) + set_char_offline(99,sd->account_id); close(fd); delete_session(fd); return 0; -- cgit v1.2.3-70-g09d2