X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FmysqlConn.c;h=79c82e9d4194f49514cf14aa8202d4461fc63312;hb=8a1a716ef73af7b5288f7b5f8ab1b37be80f1247;hp=ea3c2b89ab4d1042463438d4ce62d5ed97c2dd54;hpb=55831bf424312a6908ca07a904f288fba0919a9a;p=NeonServV5.git diff --git a/src/mysqlConn.c b/src/mysqlConn.c index ea3c2b8..79c82e9 100644 --- a/src/mysqlConn.c +++ b/src/mysqlConn.c @@ -1,4 +1,4 @@ -/* mysqlConn.c - NeonServ v5.3 +/* mysqlConn.c - NeonServ v5.6 * Copyright (C) 2011-2012 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify @@ -16,11 +16,13 @@ */ #include "mysqlConn.h" -#define DATABASE_VERSION "14" +#define DATABASE_VERSION "20" + +static void show_mysql_error(); struct mysql_conn_struct { - unsigned long tid; - MYSQL *mysql_conn = NULL; + unsigned int tid; + MYSQL *mysql_conn; struct used_result *used_results; struct escaped_string *escaped_strings; struct mysql_conn_struct *next; @@ -46,7 +48,7 @@ static char *mysql_host, *mysql_user, *mysql_pass, *mysql_base; static pthread_mutex_t synchronized; #endif -void check_mysql() { +static void check_mysql() { MYSQL *mysql_conn = get_mysql_conn(); int errid; if((errid = mysql_ping(mysql_conn))) { @@ -114,7 +116,6 @@ void init_mysql(char *host, int port, char *user, char *pass, char *base) { version = atoi(row[0]); } } - printf("%d \n", version); if(!version) { //CREATE DATABASE FILE *f = fopen("database.sql", "r"); @@ -201,10 +202,10 @@ void free_mysql() { mysql_conns = NULL; } -void show_mysql_error() { +static void show_mysql_error() { MYSQL *mysql_conn = get_mysql_conn(); //show mysql_error() - printf("MySQL Error: %s\n", mysql_error(mysql_conn)); + putlog(LOGLEVEL_ERROR, "MySQL Error: %s\n", mysql_error(mysql_conn)); } void printf_mysql_query(const char *text, ...) { @@ -218,7 +219,7 @@ void printf_mysql_query(const char *text, ...) { va_end(arg_list); if (pos < 0 || pos > (MYSQLMAXLEN - 2)) pos = MYSQLMAXLEN - 2; queryBuf[pos] = '\0'; - printf("MySQL: %s\n", queryBuf); + putlog(LOGLEVEL_MYSQL, "MySQL: %s\n", queryBuf); if(mysql_query(mysql_conn, queryBuf)) { check_mysql(); if(mysql_query(mysql_conn, queryBuf)) { @@ -238,7 +239,7 @@ void printf_long_mysql_query(int len, const char *text, ...) { va_end(arg_list); if (pos < 0 || pos > (len - 2)) pos = len - 2; queryBuf[pos] = '\0'; - printf("MySQL: %s\n", queryBuf); + putlog(LOGLEVEL_MYSQL, "MySQL: %s\n", queryBuf); if(mysql_query(mysql_conn, queryBuf)) { check_mysql(); if(mysql_query(mysql_conn, queryBuf)) { @@ -264,14 +265,19 @@ char* escape_string(const char *str) { struct mysql_conn_struct *get_mysql_conn_struct() { SYNCHRONIZE(synchronized); struct mysql_conn_struct *mysql_conn; - unsigned long tid = syscall(SYS_gettid); + unsigned int tid; + #ifdef HAVE_THREADS + tid = (unsigned int) pthread_self_tid(); + #else + tid = 1; + #endif for(mysql_conn = mysql_conns; mysql_conn; mysql_conn = mysql_conn->next) { if(mysql_conn->tid == tid) { DESYNCHRONIZE(synchronized); return mysql_conn; } } - mysql_conn = malloc(*mysql_conn); + mysql_conn = malloc(sizeof(*mysql_conn)); mysql_conn->mysql_conn = mysql_init(NULL); mysql_conn->tid = tid; mysql_conn->used_results = NULL;