From c9c86b36df3ff7bb9b14a326f1156204a3fbdc95 Mon Sep 17 00:00:00 2001 From: XTZGZoReX Date: Fri, 24 Apr 2009 18:01:31 +0200 Subject: * Optimized Log::outDB by removing unneeded variadic argument parsing. Also use enum instead of explicit uint32. --HG-- branch : trunk --- src/shared/Log.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'src/shared/Log.cpp') diff --git a/src/shared/Log.cpp b/src/shared/Log.cpp index 152110012eb..f3fcae1faf7 100644 --- a/src/shared/Log.cpp +++ b/src/shared/Log.cpp @@ -344,28 +344,16 @@ std::string Log::GetTimestampStr() return std::string(buf); } -void Log::outDB( uint32 type, const char * str, ... ) +void Log::outDB( LogTypes type, const char * str ) { - if(type >= MAX_LOG_TYPES) - return; - - if(!str) + if(!str || std::string(str).empty() || type >= MAX_LOG_TYPES) return; std::string new_str(str); LoginDatabase.escape_string(new_str); - char nnew_str[MAX_QUERY_LEN]; - - va_list ap; - va_start(ap, str); - int res = vsnprintf(nnew_str, MAX_QUERY_LEN, new_str.c_str(), ap); - va_end(ap); - - if ( (res < 0) || (!nnew_str) || (std::string(nnew_str).empty()) ) - return; LoginDatabase.PExecute("INSERT INTO logs (time, realm, type, string) " - "VALUES ("I64FMTD", %u, %u, '%s');", uint64(time(0)), realm, type, nnew_str); + "VALUES ("I64FMTD", %u, %u, '%s');", uint64(time(0)), realm, (uint32)type, new_str.c_str()); } void Log::outString( const char * str, ... ) -- cgit v1.2.3