diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-11-10 20:01:29 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-11-10 20:01:29 +0300 |
commit | 8812bcce528883ac963bd848e91ddcf162a24fa0 (patch) | |
tree | 26622b093064807bfb8bd89b03e157803b4c61ea | |
parent | 3d3f077e6ff51e5e9d388a16bd73a526310918ad (diff) | |
download | evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.tar.gz evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.tar.bz2 evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.tar.xz evol-hercules-8812bcce528883ac963bd848e91ddcf162a24fa0.zip |
login: move server version sending into separate file.
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/login/parse.c | 8 | ||||
-rw-r--r-- | src/login/send.c | 25 | ||||
-rw-r--r-- | src/login/send.h | 9 |
4 files changed, 39 insertions, 7 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 35f94a4..d95ddfc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,7 +6,9 @@ LOGIN_SRC = login/config.c \ login/config.h \ login/init.c \ login/parse.c \ - login/parse.h + login/parse.h \ + login/send.c \ + login/send.h MAP_SRC = map/dummy.c \ map/dummy.h \ diff --git a/src/login/parse.c b/src/login/parse.c index 7b6bb11..b8f25fe 100644 --- a/src/login/parse.c +++ b/src/login/parse.c @@ -13,6 +13,7 @@ #include "../../../login/login.h" #include "login/parse.h" +#include "login/send.h" int clientVersion = 0; @@ -30,12 +31,7 @@ void login_parse_version(int fd) return; } - WFIFOHEAD(fd, 4 + 8); - WFIFOW(fd, 0) = 0x7531; - WFIFOW(fd, 2) = 4 + 8; - WFIFOL(fd, 4) = 0; // unused - WFIFOL(fd, 8) = 1; // server version - WFIFOSET(fd, WFIFOW(fd,2)); + send_server_version(fd); } int elogin_parse_client_login_pre(int *fd, struct login_session_data* sd, const char *const ip) diff --git a/src/login/send.c b/src/login/send.c new file mode 100644 index 0000000..257376f --- /dev/null +++ b/src/login/send.c @@ -0,0 +1,25 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "../../../common/HPMi.h" +#include "../../../common/malloc.h" +#include "../../../common/mmo.h" +#include "../../../common/socket.h" +#include "../../../common/strlib.h" +#include "../../../login/login.h" + +#include "login/send.h" + +void send_server_version(int fd) +{ + WFIFOHEAD(fd, 4 + 8); + WFIFOW(fd, 0) = 0x7531; + WFIFOW(fd, 2) = 4 + 8; + WFIFOL(fd, 4) = 0; // unused + WFIFOL(fd, 8) = 1; // server version + WFIFOSET(fd, WFIFOW(fd,2)); +} diff --git a/src/login/send.h b/src/login/send.h new file mode 100644 index 0000000..20c184e --- /dev/null +++ b/src/login/send.h @@ -0,0 +1,9 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_LOGIN_SEND +#define EVOL_LOGIN_SEND + +void send_server_version(); + +#endif // EVOL_LOGIN_SEND |