diff options
author | linencloth <none@none> | 2010-10-21 16:56:51 +0200 |
---|---|---|
committer | linencloth <none@none> | 2010-10-21 16:56:51 +0200 |
commit | d9d1ec3670ce4498b22025973fa126e5e3c2ab48 (patch) | |
tree | 53f1ffd4ec3e3247f4b5af4bddf6207268b07eaf /src/server/shared/Database/MySQLConnection.h | |
parent | f275f8b4b580b48f8ff7804d2079d6cd83842cda (diff) |
Core: optimize string splitting
- Mainly affects item loading performance
- Reduces guild loading time a lot
--HG--
branch : trunk
Diffstat (limited to 'src/server/shared/Database/MySQLConnection.h')
-rwxr-xr-x | src/server/shared/Database/MySQLConnection.h | 25 |
1 files changed, 12 insertions, 13 deletions
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; |