]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-server.c
- externe portab-Header werden nicht mehr benoetigt/benutzt, dadurch
[ngircd-alex.git] / src / ngircd / irc-server.c
index fcceccc6dd235b05c673d5d3118025daccf789c2..db5772086ae2f8e7ff6274424e13068c42125470 100644 (file)
@@ -9,21 +9,15 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: irc-server.c,v 1.1 2002/03/03 17:15:11 alex Exp $
+ * $Id: irc-server.c,v 1.6 2002/03/12 14:37:52 alex Exp $
  *
  * irc-server.c: IRC-Befehle fuer Server-Links
- *
- * $Log: irc-server.c,v $
- * Revision 1.1  2002/03/03 17:15:11  alex
- * - Source in weitere Module fuer IRC-Befehle aufgesplitted.
- *
  */
 
 
-#include <portab.h>
-#include "global.h"
+#include "portab.h"
 
-#include <imp.h>
+#include "imp.h"
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -34,7 +28,7 @@
 #include "log.h"
 #include "messages.h"
 
-#include <exp.h>
+#include "exp.h"
 #include "irc-server.h"
 
 
@@ -155,10 +149,9 @@ GLOBAL BOOLEAN IRC_SERVER( CLIENT *Client, REQUEST *Req )
                chan = Channel_First( );
                while( chan )
                {
-                       sprintf( str, "NJOIN %s :", Channel_Name( chan ));
-
                        /* alle Member suchen */
                        cl2chan = Channel_FirstMember( chan );
+                       sprintf( str, "NJOIN %s :", Channel_Name( chan ));
                        while( cl2chan )
                        {
                                cl = Channel_GetClient( cl2chan );
@@ -170,7 +163,7 @@ GLOBAL BOOLEAN IRC_SERVER( CLIENT *Client, REQUEST *Req )
                                if( strchr( Channel_UserModes( chan, cl ), 'o' )) strcat( str, "@" );
                                strcat( str, Client_ID( cl ));
 
-                               if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
+                               if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 ))
                                {
                                        /* Zeile senden */
                                        if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
@@ -325,7 +318,8 @@ GLOBAL BOOLEAN IRC_SQUIT( CLIENT *Client, REQUEST *Req )
        target = Client_GetFromID( Req->argv[0] );
        if( ! target )
        {
-               Log( LOG_ERR, "Got SQUIT from %s for unknown server \"%s\"!?", Client_ID( Client ), Req->argv[0] );
+               /* Den Server kennen wir nicht (mehr), also nichts zu tun. */
+               Log( LOG_WARNING, "Got SQUIT from %s for unknown server \"%s\"!?", Client_ID( Client ), Req->argv[0] );
                return CONNECTED;
        }
 
@@ -346,7 +340,7 @@ GLOBAL BOOLEAN IRC_SQUIT( CLIENT *Client, REQUEST *Req )
        else
        {
                /* Verbindung hielt anderer Server */
-               Client_Destroy( target, msg, Req->argv[1] );
+               Client_Destroy( target, msg, Req->argv[1], FALSE );
                return CONNECTED;
        }
 } /* IRC_SQUIT */