From a9edc6bb8e1f1a9d610f8acb1585f8cc0f10cf34 Mon Sep 17 00:00:00 2001 From: pk910 Date: Fri, 17 Feb 2012 20:36:24 +0100 Subject: [PATCH] fixed compilation without threads and fixed some warnings --- src/ClientSocket.c | 7 ++++--- src/QServer.c | 7 ++++--- src/main.c | 36 +++++++++++++++++++++--------------- src/main.h | 2 +- src/overall.h | 1 + src/signal.c | 7 ++++--- 6 files changed, 35 insertions(+), 25 deletions(-) diff --git a/src/ClientSocket.c b/src/ClientSocket.c index d1f80ff..6cf36e2 100644 --- a/src/ClientSocket.c +++ b/src/ClientSocket.c @@ -362,16 +362,17 @@ int write_socket_force(struct ClientSocket *client, char* msg, int len) { #else putlog(LOGLEVEL_RAW, "[send %d] %s", len, msg); #endif + int ret = 1; if(!(client->flags & SOCKET_FLAG_HAVE_SSL) || ssl_write(client, msg, len) == -2) { #ifdef WIN32 - send(client->sock, msg, len, 0); + ret = send(client->sock, msg, len, 0); #else - write(client->sock, msg, len); + ret = write(client->sock, msg, len); #endif } client->traffic_out += len; DESYNCHRONIZE(synchronized); - return 1; + return ret; } int write_socket(struct ClientSocket *client, char* msg, int len) { diff --git a/src/QServer.c b/src/QServer.c index a9e36fa..dd983fa 100644 --- a/src/QServer.c +++ b/src/QServer.c @@ -73,12 +73,13 @@ static int qserver_write(struct QServerClient *client, char* msg, int len) { if (!(client && !(client->flags & QSERVER_FLAG_DISCONNECT))) return 0; if(!len) len = strlen(msg); + int ret = 1; #ifdef WIN32 - send(client->sock, msg, len, 0); + ret = send(client->sock, msg, len, 0); #else - write(client->sock, msg, len); + ret = write(client->sock, msg, len); #endif - return 1; + return ret; } static void qserver_put(struct QServerClient *client, const char *text, ...) { diff --git a/src/main.c b/src/main.c index f567e93..fa8aee1 100644 --- a/src/main.c +++ b/src/main.c @@ -238,9 +238,10 @@ int main(int argc, char *argv[]) { fprintf(pidfile, "%i\n", (int)getpid()); fclose(pidfile); } - fclose(stdin); fopen("/dev/null", "r"); - fclose(stdout); fopen("/dev/null", "w"); - fclose(stderr); fopen("/dev/null", "w"); + FILE *retn; + fclose(stdin); retn = fopen("/dev/null", "r"); + fclose(stdout); retn = fopen("/dev/null", "w"); + fclose(stderr); retn = fopen("/dev/null", "w"); #endif } @@ -504,7 +505,7 @@ TIMEQ_CALLBACK(main_statistics) { statistics_enabled = 0; } -void statistics_update() { +int statistics_update() { if(get_int_field("statistics.enable") && statistics_requested_lusers && get_string_field("statistics.execute")) { statistics_requested_lusers = 0; char command[MAXLEN]; @@ -520,8 +521,9 @@ void statistics_update() { sprintf(command, "%s %d %d %d %d %d %d %d", get_string_field("statistics.execute"), getUserCount(), getChanUserCount(), getChannelCount(), statistics_privmsg, statistics_commands, statistics_network_users, statistics_network_channels); statistics_privmsg = 0; statistics_commands = 0; - system(command); + return system(command); } + return -1; } time_t getStartTime() { @@ -529,7 +531,11 @@ time_t getStartTime() { } int getRunningThreads() { + #ifdef HAVE_THREADS return running_threads; + #else + return 1; + #endif } void write_log(int loglevel, const char *line, int len) { @@ -582,7 +588,7 @@ static void check_firstrun() { printf("AuthServ account name of admin user: "); char *ptr; char adminuser[31]; - fgets(adminuser, 30, stdin); + ptr = fgets(adminuser, 30, stdin); for(ptr = adminuser; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(strlen(adminuser) < 2) goto check_firstrun_admin; printf_mysql_query("SELECT `user_id` FROM `users` WHERE `user_user` = '%s'", escape_string(adminuser)); @@ -602,25 +608,25 @@ static void check_firstrun() { char bot_nick[31]; check_firstrun_bot_nick: printf("Nick: "); - fgets(bot_nick, 30, stdin); + ptr = fgets(bot_nick, 30, stdin); for(ptr = bot_nick; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(strlen(bot_nick) < 2) goto check_firstrun_bot_nick; char bot_ident[16]; check_firstrun_bot_ident: printf("Ident: "); - fgets(bot_ident, 15, stdin); + ptr = fgets(bot_ident, 15, stdin); for(ptr = bot_ident; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(strlen(bot_ident) < 2) goto check_firstrun_bot_ident; char bot_realname[101]; check_firstrun_bot_realname: printf("Realname: "); - fgets(bot_realname, 100, stdin); + ptr = fgets(bot_realname, 100, stdin); for(ptr = bot_realname; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(strlen(bot_realname) < 2) goto check_firstrun_bot_realname; char bot_server[101]; check_firstrun_bot_server: printf("Server: [irc.onlinegamesnet.net] "); - fgets(bot_server, 100, stdin); + ptr = fgets(bot_server, 100, stdin); for(ptr = bot_server; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(*bot_server && strlen(bot_nick) < 5) goto check_firstrun_bot_server; if(!*bot_server) @@ -628,7 +634,7 @@ static void check_firstrun() { int bot_port; char bot_port_buf[7]; printf("Port: [6667] "); - fgets(bot_port_buf, 6, stdin); + ptr = fgets(bot_port_buf, 6, stdin); for(ptr = bot_port_buf; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(!*bot_port_buf) bot_port = 6667; @@ -638,7 +644,7 @@ static void check_firstrun() { char bot_ssl_buf[5]; check_firstrun_bot_ssl: printf("SSL: [y/N] "); - fgets(bot_ssl_buf, 4, stdin); + ptr = fgets(bot_ssl_buf, 4, stdin); for(ptr = bot_ssl_buf; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(!*bot_ssl_buf || tolower(*bot_ssl_buf) == 'n') bot_ssl = 0; @@ -648,12 +654,12 @@ static void check_firstrun() { goto check_firstrun_bot_ssl; char bot_pass[101]; printf("Server Password: [] "); - fgets(bot_pass, 100, stdin); + ptr = fgets(bot_pass, 100, stdin); for(ptr = bot_pass; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } int bot_maxchan; char bot_maxchan_buf[5]; printf("MaxChannel: [20] "); - fgets(bot_maxchan_buf, 5, stdin); + ptr = fgets(bot_maxchan_buf, 5, stdin); for(ptr = bot_maxchan_buf; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(*bot_maxchan_buf) bot_maxchan = atoi(bot_maxchan_buf); @@ -663,7 +669,7 @@ static void check_firstrun() { char bot_queue_buf[5]; check_firstrun_bot_queue: printf("Queue (prevents excess floods): [Y/n] "); - fgets(bot_queue_buf, 4, stdin); + ptr = fgets(bot_queue_buf, 4, stdin); for(ptr = bot_queue_buf; *ptr; ptr++) { if(*ptr == '\n' || *ptr == '\r') *ptr = '\0'; } if(!*bot_queue_buf || tolower(*bot_queue_buf) == 'y') bot_queue = 1; diff --git a/src/main.h b/src/main.h index f31fa65..bfa3f9f 100644 --- a/src/main.h +++ b/src/main.h @@ -43,7 +43,7 @@ void exit_daemon(); /* MODULAR ACCESSIBLE */ void stop_bot(); /* MODULAR ACCESSIBLE */ void reload_config(); -void statistics_update(); +int statistics_update(); /* MODULAR ACCESSIBLE */ void putlog(int loglevel, const char *text, ...) PRINTF_LIKE(2, 3); #endif diff --git a/src/overall.h b/src/overall.h index 718e82d..3f6de8a 100644 --- a/src/overall.h +++ b/src/overall.h @@ -39,6 +39,7 @@ #include #include #include +#include #endif #include #include diff --git a/src/signal.c b/src/signal.c index 1eb2383..cf69342 100644 --- a/src/signal.c +++ b/src/signal.c @@ -48,7 +48,8 @@ void sighandler(int signum) { } static void sigcrash(int signum) { - char *coregen = ""; + char coregen[MAXLEN]; + coregen[0] = 0; char *signame; switch(signum) { case SIGSEGV: @@ -68,8 +69,8 @@ static void sigcrash(int signum) { #ifndef WIN32 char gcore[50]; sprintf(gcore, "gcore %u", getpid()); - system(gcore); //generate core file - coregen = "core file generated."; + int sysretn = system(gcore); //generate core file + sprintf(coregen, "core file generated. (%d)", sysretn); putlog(LOGLEVEL_ERROR | LOGLEVEL_INFO, "generated core file.\n"); #endif char *alertchan = get_string_field("General.alertchan"); -- 2.20.1