]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/ngircd.c
Don't stop mode handling on unknown modes; skip it
[ngircd-alex.git] / src / ngircd / ngircd.c
index 58383cfaac51924b6782be3d7a08bf7a96a1056e..3e64f3594d29571d68c0dad0568f7fdeb02e17c9 100644 (file)
@@ -38,6 +38,7 @@
 
 #include "defines.h"
 #include "conn.h"
+#include "class.h"
 #include "conf-ssl.h"
 #include "channel.h"
 #include "conf.h"
@@ -282,6 +283,7 @@ main( int argc, const char *argv[] )
                Channel_Init( );
                Client_Init( );
                Conn_Init( );
+               Class_Init( );
 
                if (!io_library_init(CONNECTION_POOL)) {
                        Log(LOG_ALERT, "Fatal: Cannot initialize IO routines: %s", strerror(errno));
@@ -327,6 +329,7 @@ main( int argc, const char *argv[] )
                Conn_Exit( );
                Client_Exit( );
                Channel_Exit( );
+               Class_Exit( );
                Log_Exit( );
        }
        Pidfile_Delete( );
@@ -576,13 +579,13 @@ Random_Init_Kern(const char *file)
                if (read(fd, &seed, sizeof(seed)) == sizeof(seed))
                        ret = true;
                close(fd);
-               srandom(seed);
+               srand(seed);
        }
        return ret;
 }
 
 /**
- * Initialize libc random(3) number generator
+ * Initialize libc rand(3) number generator
  */
 static void
 Random_Init(void)
@@ -593,7 +596,7 @@ Random_Init(void)
                return;
        if (Random_Init_Kern("/dev/arandom"))
                return;
-       srandom(random() ^ getpid() ^ time(NULL));
+       srand(rand() ^ (unsigned)getpid() ^ (unsigned)time(NULL));
 }