#include "define.h" #include "struct.h" void connect_link ( link_data*, const char* ); int players_on( ) { int num = 0; link_data* link; for( link = link_list; link != NULL; link = link->next ) if( link->connected == CON_PLAYING ) num++; return num; } void write_host( link_data* link, char* name ) { char* tmp1 = static_string( ); char* tmp2 = static_string( ); int addr; sprintf_minutes( tmp1, current_time-boot_time ); sprintf( tmp2, "\r\n%d players on.\r\nSystem started %s ago.\r\n\ Getting site info ...\r\n", players_on( ), tmp1 ); write( link->channel, tmp2, strlen( tmp2 ) ); memcpy( &addr, name, sizeof( int ) ); addr = ntohl( addr ); sprintf( tmp1, "%d.%d.%d.%d", ( addr >> 24 ) & 0xFF, ( addr >> 16 ) & 0xFF, ( addr >> 8 ) & 0xFF, ( addr ) & 0xFF ); connect_link( link, tmp1 ); return; } void connect_link( link_data* link, const char* host ) { char tmp [ TWO_LINES ]; link->host = alloc_string( host, MEM_LINK ); link->next = link_list; link_list = link; write_greeting( link ); sprintf( tmp, "Connection from %s", link->host ); info( "", LEVEL_DEMIGOD, tmp, IFLAG_LOGINS ); return; }