From d9d1ec3670ce4498b22025973fa126e5e3c2ab48 Mon Sep 17 00:00:00 2001 From: linencloth Date: Thu, 21 Oct 2010 16:56:51 +0200 Subject: Core: optimize string splitting - Mainly affects item loading performance - Reduces guild loading time a lot --HG-- branch : trunk --- src/server/shared/Database/MySQLConnection.h | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/server/shared/Database/MySQLConnection.h') diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h index ccd0dd515cd..56a670d07c1 100755 --- a/src/server/shared/Database/MySQLConnection.h +++ b/src/server/shared/Database/MySQLConnection.h @@ -32,19 +32,18 @@ struct MySQLConnectionInfo MySQLConnectionInfo() {} MySQLConnectionInfo(const std::string& infoString) { - Tokens tokens = StrSplit(infoString, ";"); - Tokens::iterator iter = tokens.begin(); - - if (iter != tokens.end()) - host = *iter++; - if (iter != tokens.end()) - port_or_socket = *iter++; - if (iter != tokens.end()) - user = *iter++; - if (iter != tokens.end()) - password = *iter++; - if (iter != tokens.end()) - database = *iter++; + Tokens tokens(infoString, ';'); + + if (tokens.size() != 5) + return; + + uint8 i = 0; + + host.assign(tokens[i++]); + port_or_socket.assign(tokens[i++]); + user.assign(tokens[i++]); + password.assign(tokens[i++]); + database.assign(tokens[i++]); } std::string user; -- cgit v1.2.3