fixed compilation without threads and fixed some warnings
authorpk910 <philipp@zoelle1.de>
Fri, 17 Feb 2012 19:36:24 +0000 (20:36 +0100)
committerpk910 <philipp@zoelle1.de>
Fri, 17 Feb 2012 19:56:08 +0000 (20:56 +0100)
src/ClientSocket.c
src/QServer.c
src/main.c
src/main.h
src/overall.h
src/signal.c

index d1f80ff8773358a09a9c557b216afbea9c8490c8..6cf36e2d187a90e77186452d7fccc1f3c11cc3fa 100644 (file)
@@ -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) {
index a9e36faa7b21d907ff6b70cf36dd69ed4964af06..dd983fad139527e340840f87add944ece85149ec 100644 (file)
@@ -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, ...) {
index f567e93f3e92ec5eaf0cd4b1e54caa1bea401cca..fa8aee1f8bb24135776721aba6394c41705627b5 100644 (file)
@@ -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;
index f31fa65f148c06e2748edd91d7716a55db692444..bfa3f9fa1765d3d1e0c9ba8d71275aee616ae92f 100644 (file)
@@ -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
index 718e82d7695abef13808e55ab95d4e887101929d..3f6de8aca4083534054ff015fd1034c99aefd3ae 100644 (file)
@@ -39,6 +39,7 @@
 #include <arpa/inet.h>
 #include <netdb.h>
 #include <sys/wait.h>
+#include <errno.h>
 #endif
 #include <unistd.h>
 #include <getopt.h>
index 1eb2383e8982069f2955e1f705abc47c9743cf0c..cf6934269403b22d4820c8746352d38578d17999 100644 (file)
@@ -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");