diff --git a/.gitignore b/.gitignore index 80825adbf2..2a3be490db 100644 --- a/.gitignore +++ b/.gitignore @@ -152,6 +152,7 @@ Thumbs.db /.idea/vcs.xml /.idea/workspace.xml /build/ +/cbuild/ # bat tools /charserv.bat diff --git a/src/login/CMakeLists.txt b/src/login/CMakeLists.txt index 91eb04f01b..87da45c028 100644 --- a/src/login/CMakeLists.txt +++ b/src/login/CMakeLists.txt @@ -7,8 +7,7 @@ set( LOGIN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "" ) # if( BUILD_SERVERS ) message( STATUS "Creating target login-server" ) -file(GLOB LOGIN_HEADERS ${LOGIN_SOURCE_DIR}/*.h) -file(GLOB LOGIN_SOURCES_C ${LOGIN_SOURCE_DIR}/*.c) +file(GLOB LOGIN_HEADERS ${LOGIN_SOURCE_DIR}/*.hpp) file(GLOB LOGIN_SOURCES_CXX ${LOGIN_SOURCE_DIR}/*.cpp) set(LOGIN_SOURCES ${LOGIN_SOURCES_C} ${LOGIN_SOURCES_CXX}) #message( STATUS "LOGIN_SOURCES="${LOGIN_SOURCES}) diff --git a/src/login/Makefile.in b/src/login/Makefile.in index 7c13d48ef6..c9a5515a1b 100644 --- a/src/login/Makefile.in +++ b/src/login/Makefile.in @@ -11,9 +11,9 @@ LIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h) LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.a LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig -LOGIN_OBJ = $(shell ls *.c | sed -e "s/\.c/\.o/g") $(shell ls *.cpp | sed -e "s/\.cpp/\.o/g") +LOGIN_OBJ = $(shell ls *.cpp | sed -e "s/\.cpp/\.o/g") LOGIN_DIR_OBJ = $(LOGIN_OBJ:%=obj/%) -LOGIN_H = $(shell ls *.h) +LOGIN_H = $(shell ls *.hpp) HAVE_MYSQL=@HAVE_MYSQL@ ifeq ($(HAVE_MYSQL),yes) diff --git a/src/login/account.c b/src/login/account.cpp similarity index 99% rename from src/login/account.c rename to src/login/account.cpp index e8eb6045b8..d8840dcabc 100644 --- a/src/login/account.c +++ b/src/login/account.cpp @@ -7,14 +7,18 @@ * @author rAthena Dev Team */ +#include "account.hpp" + +#include +#include +#include //min / max + #include "../common/malloc.h" #include "../common/mmo.h" #include "../common/showmsg.h" #include "../common/socket.h" #include "../common/sql.h" #include "../common/strlib.h" -#include "account.h" -#include /// global defines @@ -309,10 +313,7 @@ static bool account_db_sql_create(AccountDB* self, struct mmo_account* acc) { Sql_GetData(sql_handle, 0, &data, &len); account_id = ( data != NULL ) ? atoi(data) : 0; Sql_FreeResult(sql_handle); - - if( account_id < START_ACCOUNT_NUM ) - account_id = START_ACCOUNT_NUM; - + account_id = max((uint32_t) START_ACCOUNT_NUM, account_id); } // zero value is prohibited diff --git a/src/login/account.h b/src/login/account.hpp similarity index 96% rename from src/login/account.h rename to src/login/account.hpp index 5c287b16af..319fc7fac4 100644 --- a/src/login/account.h +++ b/src/login/account.hpp @@ -7,12 +7,9 @@ * @author rAthena Dev Team */ -#ifndef __ACCOUNT_H_INCLUDED__ -#define __ACCOUNT_H_INCLUDED__ - -#ifdef __cplusplus -extern "C" { -#endif +#pragma once +#ifndef _ACCOUNT_HPP_ +#define _ACCOUNT_HPP_ #include "../common/cbasetypes.h" #include "../common/mmo.h" // ACCOUNT_REG2_NUM @@ -145,8 +142,5 @@ struct AccountDB { void mmo_send_global_accreg(AccountDB* self, int fd, int account_id, int char_id); void mmo_save_global_accreg(AccountDB* self, int fd, int account_id, int char_id); -#ifdef __cplusplus -} -#endif -#endif // __ACCOUNT_H_INCLUDED__ +#endif /* _ACCOUNT_HPP_ */ diff --git a/src/login/ipban.c b/src/login/ipban.cpp similarity index 97% rename from src/login/ipban.c rename to src/login/ipban.cpp index d204ac84a5..4363129e52 100644 --- a/src/login/ipban.c +++ b/src/login/ipban.cpp @@ -8,15 +8,18 @@ * @author rAthena Dev Team */ +#include "ipban.hpp" + +#include +#include + #include "../common/cbasetypes.h" #include "../common/showmsg.h" #include "../common/sql.h" #include "../common/strlib.h" #include "../common/timer.h" -#include "login.h" -#include "ipban.h" -#include "loginlog.h" -#include +#include "login.hpp" +#include "loginlog.hpp" // login sql settings static char ipban_db_hostname[32] = "127.0.0.1"; @@ -155,10 +158,10 @@ bool ipban_config_read(const char* key, const char* value) { safestrncpy(ipban_table, value, sizeof(ipban_table)); else if( strcmpi(key, "enable") == 0 ) - login_config.ipban = (bool)config_switch(value); + login_config.ipban = (config_switch(value) != 0); else if( strcmpi(key, "dynamic_pass_failure_ban") == 0 ) - login_config.dynamic_pass_failure_ban = (bool)config_switch(value); + login_config.dynamic_pass_failure_ban = (config_switch(value) != 0); else if( strcmpi(key, "dynamic_pass_failure_ban_interval") == 0 ) login_config.dynamic_pass_failure_ban_interval = atoi(value); diff --git a/src/login/ipban.h b/src/login/ipban.hpp similarity index 88% rename from src/login/ipban.h rename to src/login/ipban.hpp index 54a3930f09..64c91d6229 100644 --- a/src/login/ipban.h +++ b/src/login/ipban.hpp @@ -8,12 +8,9 @@ * @author rAthena Dev Team */ -#ifndef __IPBAN_H_INCLUDED__ -#define __IPBAN_H_INCLUDED__ - -#ifdef __cplusplus -extern "C" { -#endif +#pragma once +#ifndef _IPBAN_HPP_ +#define _IPBAN_HPP_ #include "../common/cbasetypes.h" @@ -51,8 +48,4 @@ void ipban_init(void); */ void ipban_final(void); -#ifdef __cplusplus -} -#endif - -#endif // __IPBAN_H_INCLUDED__ +#endif /* _IPBAN_HPP_ */ diff --git a/src/login/login-server.vcxproj b/src/login/login-server.vcxproj index 8db8906952..35ca7a21f4 100644 --- a/src/login/login-server.vcxproj +++ b/src/login/login-server.vcxproj @@ -155,24 +155,22 @@ - - - - - - - + + + + + + + - - - - CompileAsCpp - - - - - + + + + + + + diff --git a/src/login/login-server.vcxproj.filters b/src/login/login-server.vcxproj.filters index 39fb2e27fc..beb212467a 100644 --- a/src/login/login-server.vcxproj.filters +++ b/src/login/login-server.vcxproj.filters @@ -11,45 +11,45 @@ - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files diff --git a/src/login/login.cpp b/src/login/login.cpp index 24acaca376..da3bd8a3a0 100644 --- a/src/login/login.cpp +++ b/src/login/login.cpp @@ -9,6 +9,11 @@ */ #pragma warning(disable:4800) +#include "login.hpp" + +#include +#include +#include #include "../common/core.h" #include "../common/db.h" @@ -24,15 +29,12 @@ #include "../common/utils.h" #include "../common/mmo.h" #include "../config/core.h" -#include "account.h" -#include "ipban.h" -#include "login.h" -#include "loginlog.h" -#include "loginclif.h" -#include "loginchrif.h" -#include "logincnslif.h" - -#include +#include "account.hpp" +#include "ipban.hpp" +#include "loginlog.hpp" +#include "loginclif.hpp" +#include "loginchrif.hpp" +#include "logincnslif.hpp" #define LOGIN_MAX_MSG 30 /// Max number predefined in msg_conf static char* msg_table[LOGIN_MAX_MSG]; /// Login Server messages_conf diff --git a/src/login/login.h b/src/login/login.hpp similarity index 98% rename from src/login/login.h rename to src/login/login.hpp index 653b0ac377..1923c17e47 100644 --- a/src/login/login.h +++ b/src/login/login.hpp @@ -8,17 +8,18 @@ * @author rAthena Dev Team */ -#ifndef _LOGIN_H_ -#define _LOGIN_H_ +#pragma once +#ifndef _LOGIN_HPP_ +#define _LOGIN_HPP_ -#ifdef __cplusplus -extern "C" { -#endif +#include +#include "../config/core.h" +#include "../common/cbasetypes.h" #include "../common/mmo.h" // NAME_LENGTH,SEX_* #include "../common/core.h" // CORE_ST_LAST -#include "account.h" -#include "../config/core.h" + +#include "account.hpp" enum E_LOGINSERVER_ST { LOGINSERVER_ST_RUNNING = CORE_ST_LAST, @@ -234,8 +235,5 @@ int login_mmo_auth_new(const char* userid, const char* pass, const char sex, con */ int login_mmo_auth(struct login_session_data* sd, bool isServer); -#ifdef __cplusplus -} -#endif -#endif /* _LOGIN_H_ */ +#endif /* _LOGIN_HPP_ */ diff --git a/src/login/loginchrif.c b/src/login/loginchrif.cpp similarity index 99% rename from src/login/loginchrif.c rename to src/login/loginchrif.cpp index 49e0dd6c03..4ad0185083 100644 --- a/src/login/loginchrif.c +++ b/src/login/loginchrif.cpp @@ -7,16 +7,19 @@ * @author rAthena Dev Team */ +#include "loginchrif.hpp" + +#include +#include + #include "../common/timer.h" //difftick #include "../common/strlib.h" //safeprint #include "../common/showmsg.h" //show notice #include "../common/socket.h" //wfifo session -#include "account.h" -#include "login.h" -#include "loginlog.h" -#include "loginchrif.h" -#include +#include "account.hpp" +#include "login.hpp" +#include "loginlog.hpp" //early declaration void logchrif_on_disconnect(int id); @@ -52,7 +55,7 @@ int logchrif_sendallwos(int sfd, uint8* buf, size_t len) { * @param data: unused * @return 0 */ -static int logchrif_sync_ip_addresses(int tid, unsigned int tick, int id, intptr_t data) { +int logchrif_sync_ip_addresses(int tid, unsigned int tick, int id, intptr_t data) { uint8 buf[2]; ShowInfo("IP Sync in progress...\n"); WBUFW(buf,0) = 0x2735; diff --git a/src/login/loginchrif.h b/src/login/loginchrif.hpp similarity index 90% rename from src/login/loginchrif.h rename to src/login/loginchrif.hpp index 698be696ba..1e44939697 100644 --- a/src/login/loginchrif.h +++ b/src/login/loginchrif.hpp @@ -7,12 +7,11 @@ * @author rAthena Dev Team */ -#ifndef LOGINCHRIF_H -#define LOGINCHRIF_H +#pragma once +#ifndef _LOGINCHRIF_HPP_ +#define _LOGINCHRIF_HPP_ -#ifdef __cplusplus -extern "C" { -#endif +#include "../common/cbasetypes.h" /** * Entry point from char-server to log-server. @@ -48,9 +47,6 @@ void do_shutdown_loginchrif(void); */ void do_final_loginchrif(void); -#ifdef __cplusplus -} -#endif -#endif /* LOGINCHRIF_H */ +#endif /* _LOGINCHRIF_HPP_ */ diff --git a/src/login/loginclif.c b/src/login/loginclif.cpp similarity index 98% rename from src/login/loginclif.c rename to src/login/loginclif.cpp index d69aa983b8..bcb9d84a41 100644 --- a/src/login/loginclif.c +++ b/src/login/loginclif.cpp @@ -7,6 +7,11 @@ * @author rAthena Dev Team */ +#include "loginclif.hpp" + +#include +#include + #include "../common/timer.h" //difftick #include "../common/strlib.h" //safeprint #include "../common/showmsg.h" //show notice @@ -15,14 +20,12 @@ #include "../common/utils.h" #include "../common/md5calc.h" #include "../common/random.h" -#include "account.h" -#include "ipban.h" //ipban_check -#include "login.h" -#include "loginlog.h" -#include "loginclif.h" -#include "loginchrif.h" -#include +#include "account.hpp" +#include "ipban.hpp" //ipban_check +#include "login.hpp" +#include "loginlog.hpp" +#include "loginchrif.hpp" /** * Transmit auth result to client. @@ -484,7 +487,7 @@ int logclif_parse(int fd) { if( session[fd]->flag.eof ) { - ShowInfo("Closed connection from '"CL_WHITE"%s"CL_RESET"'.\n", ip); + ShowInfo("Closed connection from '" CL_WHITE "%s" CL_RESET "'.\n", ip); do_close(fd); return 0; } diff --git a/src/login/loginclif.h b/src/login/loginclif.hpp similarity index 85% rename from src/login/loginclif.h rename to src/login/loginclif.hpp index 2fe1aaef22..b5e43088a2 100644 --- a/src/login/loginclif.h +++ b/src/login/loginclif.hpp @@ -7,12 +7,9 @@ * @author rAthena Dev Team */ -#ifndef _LOGINCLIF_H -#define _LOGINCLIF_H - -#ifdef __cplusplus -extern "C" { -#endif +#pragma once +#ifndef _LOGINCLIF_HPP_ +#define _LOGINCLIF_HPP_ /** * Entry point from client to log-server. @@ -34,9 +31,5 @@ void do_init_loginclif(void); */ void do_final_loginclif(void); -#ifdef __cplusplus -} -#endif - -#endif /* _LOGINCLIF_H */ +#endif /* _LOGINCLIF_HPP_ */ diff --git a/src/login/logincnslif.c b/src/login/logincnslif.cpp similarity index 97% rename from src/login/logincnslif.c rename to src/login/logincnslif.cpp index d4580ae93d..e5055b3589 100644 --- a/src/login/logincnslif.c +++ b/src/login/logincnslif.cpp @@ -7,6 +7,11 @@ * @author rAthena Dev Team */ +#include "logincnslif.hpp" + +#include +#include + #include "../common/mmo.h" //cbasetype + NAME_LENGTH #include "../common/showmsg.h" //show notice #include "../common/md5calc.h" @@ -14,10 +19,8 @@ #include "../common/cli.h" #include "../common/timer.h" #include "../common/strlib.h" -#include "login.h" -#include "logincnslif.h" -#include +#include "login.hpp" /** * Login-server console help: starting option info. @@ -121,7 +124,7 @@ int cnslif_parse(const char* buf){ runflag = 0; } else if( strcmpi("alive", command) == 0 || strcmpi("status", command) == 0 ) - ShowInfo(CL_CYAN"Console: "CL_BOLD"I'm Alive."CL_RESET"\n"); + ShowInfo(CL_CYAN "Console: " CL_BOLD "I'm Alive." CL_RESET"\n"); else if( strcmpi("reloadconf", command) == 0 ) { ShowInfo("Reloading config file \"%s\"\n", login_config.loginconf_name); login_config_read(login_config.loginconf_name, false); diff --git a/src/login/logincnslif.h b/src/login/logincnslif.hpp similarity index 91% rename from src/login/logincnslif.h rename to src/login/logincnslif.hpp index 67faf620be..7ce329fee3 100644 --- a/src/login/logincnslif.h +++ b/src/login/logincnslif.hpp @@ -7,12 +7,18 @@ * @author rAthena Dev Team */ -#ifndef CONSOLEIF_H -#define CONSOLEIF_H +#pragma once +#ifndef _LOGINCNSLIF_HPP_ +#define _LOGINCNSLIF_HPP_ -#ifdef __cplusplus extern "C" { -#endif +/** + * Login-server console help: starting option info. + * Do not rename function used as extern. + * @param do_exit: terminate program execution ? + */ +void display_helpscreen(bool do_exit); +} /** * Console Command Parser @@ -33,13 +39,6 @@ int cnslif_parse(const char* buf); */ int logcnslif_get_options(int argc, char ** argv); -/** - * Login-server console help: starting option info. - * Do not rename function used as extern. - * @param do_exit: terminate program execution ? - */ -void display_helpscreen(bool do_exit); - /** * Initialize the module. * Launched at login-serv start, create db or other long scope variable here. @@ -50,9 +49,6 @@ void do_init_logincnslif(void); */ void do_final_logincnslif(void); -#ifdef __cplusplus -} -#endif -#endif /* CONSOLEIF_H */ +#endif /* _LOGINCNSLIF_HPP_ */ diff --git a/src/login/loginlog.c b/src/login/loginlog.cpp similarity index 99% rename from src/login/loginlog.c rename to src/login/loginlog.cpp index 219bf0f242..4c96afaf66 100644 --- a/src/login/loginlog.c +++ b/src/login/loginlog.cpp @@ -7,13 +7,17 @@ * @author rAthena Dev Team */ +#include "loginlog.hpp" + +#include // exit +#include + #include "../common/cbasetypes.h" #include "../common/mmo.h" #include "../common/socket.h" #include "../common/sql.h" #include "../common/strlib.h" #include "../common/showmsg.h" -#include // exit // global sql settings (in ipban_sql.c) static char global_db_hostname[64] = "127.0.0.1"; // Doubled to reflect the change on commit #0f2dd7f diff --git a/src/login/loginlog.h b/src/login/loginlog.hpp similarity index 89% rename from src/login/loginlog.h rename to src/login/loginlog.hpp index 1acdf69cb2..099d077eb0 100644 --- a/src/login/loginlog.h +++ b/src/login/loginlog.hpp @@ -7,12 +7,13 @@ * @author rAthena Dev Team */ -#ifndef __LOGINLOG_H_INCLUDED__ -#define __LOGINLOG_H_INCLUDED__ +#pragma once +#ifndef _LOGINLOG_HPP_ +#define _LOGINLOG_HPP_ -#ifdef __cplusplus -extern "C" { -#endif +#include + +#include "../common/cbasetypes.h" /** * Get the number of failed login attempts by the ip in the last minutes. @@ -54,8 +55,5 @@ bool loginlog_init(void); */ bool loginlog_final(void); -#ifdef __cplusplus -} -#endif -#endif // __LOGINLOG_H_INCLUDED__ +#endif /* _LOGINLOG_HPP_ */