-
- /* alle Member suchen */
- cl2chan = Channel_FirstMember( chan );
- snprintf( str, sizeof( str ), "NJOIN %s :", Channel_Name( chan ));
- while( cl2chan )
- {
- cl = Channel_GetClient( cl2chan );
- assert( cl != NULL );
-
- /* Nick, ggf. mit Modes, anhaengen */
- if( str[strlen( str ) - 1] != ':' ) strlcat( str, ",", sizeof( str ));
- if( strchr( Channel_UserModes( chan, cl ), 'v' )) strlcat( str, "+", sizeof( str ));
- if( strchr( Channel_UserModes( chan, cl ), 'o' )) strlcat( str, "@", sizeof( str ));
- strlcat( str, Client_ID( cl ), sizeof( str ));
-
- if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 ))
- {
- /* Zeile senden */
- if( ! IRC_WriteStrClient( Client, "%s", str )) return DISCONNECTED;
- snprintf( str, sizeof( 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, "%s", str )) return DISCONNECTED;
- }
-
- /* Get next channel ... */
- chan = Channel_Next(chan);
- }
-