From fed816d2554e2df6dd5a045d4193a2a2df607a50 Mon Sep 17 00:00:00 2001 From: HanzZ Date: Sat, 6 Aug 2011 15:40:46 +0200 Subject: [PATCH] initialize m_conn --- include/transport/mysqlbackend.h | 2 +- spectrum/src/sample.cfg | 2 +- src/mysqlbackend.cpp | 16 +++++++++------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/transport/mysqlbackend.h b/include/transport/mysqlbackend.h index a6fdf7b2..c2c718dc 100644 --- a/include/transport/mysqlbackend.h +++ b/include/transport/mysqlbackend.h @@ -93,7 +93,7 @@ class MySQLBackend : public StorageBackend private: bool exec(const std::string &query); - MYSQL *m_conn; + MYSQL m_conn; Config *m_config; std::string m_prefix; diff --git a/spectrum/src/sample.cfg b/spectrum/src/sample.cfg index 39d761b4..22358da5 100644 --- a/spectrum/src/sample.cfg +++ b/spectrum/src/sample.cfg @@ -26,6 +26,6 @@ default_avatar=catmelonhead.jpg #backend_config=backend_logging.cfg # log4cxx/log4j logging configuration file for backends [database] -type = none # or "none" without database backend +type = mysql # or "none" without database backend database = test.sql prefix=icq diff --git a/src/mysqlbackend.cpp b/src/mysqlbackend.cpp index ae21071b..25287776 100644 --- a/src/mysqlbackend.cpp +++ b/src/mysqlbackend.cpp @@ -66,24 +66,26 @@ static LoggerPtr logger = Logger::getLogger("MySQLBackend"); MySQLBackend::MySQLBackend(Config *config) { m_config = config; - m_conn = NULL; + mysql_init(&m_conn); m_prefix = CONFIG_STRING(m_config, "database.prefix"); } MySQLBackend::~MySQLBackend(){ - if (m_conn) { - mysql_close(m_conn); - } + mysql_close(&m_conn); } bool MySQLBackend::connect() { - LOG4CXX_INFO(logger, "Connecting database " << CONFIG_STRING(m_config, "database.database")); - if (!mysql_real_connect(m_conn, CONFIG_STRING(m_config, "database.server").c_str(), + LOG4CXX_INFO(logger, "Connecting MySQL server " << CONFIG_STRING(m_config, "database.server") << ", user " << + CONFIG_STRING(m_config, "database.user") << ", database " << CONFIG_STRING(m_config, "database.database") << + ", port " << CONFIG_INT(m_config, "database.port") + ); + + if (!mysql_real_connect(&m_conn, CONFIG_STRING(m_config, "database.server").c_str(), CONFIG_STRING(m_config, "database.user").c_str(), CONFIG_STRING(m_config, "database.password").c_str(), CONFIG_STRING(m_config, "database.database").c_str(), CONFIG_INT(m_config, "database.port"), NULL, 0)) { - LOG4CXX_ERROR(logger, "Can't connect database: " << mysql_error(m_conn)); + LOG4CXX_ERROR(logger, "Can't connect database: " << mysql_error(&m_conn)); return false; }