#include <stdio.h>
#include "tuved.h"
MYSQL *conn = 0x0;
pthread_mutex_t mysqlMutex = PTHREAD_MUTEX_INITIALIZER;
int dbInit() {
conn = mysql_init(0x0);
if (conn == NULL) {
writeLog(0,"mysql_init() failed (probably out of memory)\n.");
return(0x1);
}
my_bool reconnect = 1;
if (mysql_options(conn,MYSQL_OPT_RECONNECT, &reconnect) != 0x0)
writeLog(0,"mysql_options() failed: To Set Reconnect\n");
if (!mysql_real_connect(conn,MYSQL_HOST_NAME,MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DB_NAME,0,NULL,0)) {
writeLog(0,"mysql_real_connect() failed: Error %u (%s)\n.", mysql_errno(conn), mysql_error(conn));
return(0x1);
}
pthread_mutex_init(&mysqlMutex, NULL);
writeLog(0,"Sucessful connection to the MySQL Database.\n");
return(0x0);
}
MYSQL_RES *dbQuery(const char *query,short store) {
MYSQL_RES *res_set = 0x0;
pthread_mutex_lock(&mysqlMutex);
writeLog(0,"Query: %s\n",query);
if (mysql_query(conn,query) != 0x0) {
writeLog(0,"mysql_query() failed: Error %u (%s)\n.", mysql_errno(conn), mysql_error(conn));
pthread_mutex_unlock(&mysqlMutex);
return(0x0);
}
if (store == 1) {
res_set = mysql_store_result(conn);
if (res_set == 0x0) {
writeLog(0,"mysql_store_result() failed: Error %u (%s)\n.", mysql_errno(conn), mysql_error(conn));
pthread_mutex_unlock(&mysqlMutex);
return(0x0);
}
}
pthread_mutex_unlock(&mysqlMutex);
return(res_set);
}