+
+ /* Channels dem neuen Server bekannt machen */
+ chan = Channel_First( );
+ while( chan )
+ {
+ sprintf( str, "NJOIN %s :", Channel_Name( chan ));
+
+ /* alle Member suchen */
+ cl2chan = Channel_FirstMember( chan );
+ while( cl2chan )
+ {
+ if( str[strlen( str ) - 1] != ':' ) strcat( str, "," );
+ strcat( str, Client_ID( Channel_GetClient( cl2chan )));
+
+ if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 4 ))
+ {
+ /* Zeile senden */
+ if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
+ sprintf( str, "NJOIN %s :", Channel_Name( chan ));
+ }
+
+ cl2chan = Channel_NextMember( chan, cl2chan );
+ }
+
+ /* noch Daten da? */
+ if( str[strlen( str ) - 1] != ':')
+ {
+ /* Ja; Also senden ... */
+ if( ! IRC_WriteStrClient( Client, str )) return DISCONNECTED;
+ }
+
+ /* naechsten Channel suchen */
+ chan = Channel_Next( chan );
+ }