summaryrefslogtreecommitdiff
path: root/src/map/chrif.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-04-18 08:38:18 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-04-18 08:38:18 -0700
commitb0d3b261f454e921f90a3a2c748731d3379e2db7 (patch)
treeb557ba4767fe7b00465f451b3be057721baf1156 /src/map/chrif.cpp
parentae7b06ff8ad775a945bd677effd72b7fafa13d8d (diff)
downloadtmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.tar.gz
tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.tar.bz2
tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.tar.xz
tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.zip
Die sensibly, take 2
Diffstat (limited to 'src/map/chrif.cpp')
-rw-r--r--src/map/chrif.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/map/chrif.cpp b/src/map/chrif.cpp
index 86506b0..fa95be7 100644
--- a/src/map/chrif.cpp
+++ b/src/map/chrif.cpp
@@ -1037,6 +1037,15 @@ void ladmin_itemfrob(Session *s)
}
}
+static
+void chrif_delete(Session *s)
+{
+ assert (s == char_session);
+ PRINTF("Map-server can't connect to char-server (connection #%d).\n",
+ s);
+ char_session = nullptr;
+}
+
/*==========================================
*
*------------------------------------------
@@ -1207,10 +1216,10 @@ void check_connect_char_server(TimerData *, tick_t)
{
PRINTF("Attempt to connect to char-server...\n");
chrif_state = 0;
- char_session = make_connection(char_ip, char_port);
+ char_session = make_connection(char_ip, char_port,
+ SessionParsers{func_parse: chrif_parse, func_delete: chrif_delete});
if (!char_session)
return;
- char_session->func_parse = chrif_parse;
realloc_fifo(char_session, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
chrif_connect(char_session);