All pastes #39378 Raw Edit

Mine

public text v1 · immutable
#39378 ·published 2006-02-01 03:28 UTC
rendered paste body
void CUpDownClient::ProcessRequestPartsPacketv2(const CMemFile& data) {
	
	CMD4Hash reqfilehash = data.ReadHash();
	
	uint8 numblocks = data.ReadUInt8();
	
	for (int i = 0; i < numblocks; i++) {		
		Requested_Block_Struct* reqblock = new Requested_Block_Struct;
		try {
			reqblock->StartOffset = data.GetIntTagValue();
			reqblock->EndOffset = data.GetIntTagValue();
			if (reqblock->StartOffset >= reqblock->EndOffset) {
				if ( CLogger::IsEnabled( logClient ) ) {
					AddLogLineM(false, _("Client request is invalid!"));
				}
				throw wxString(wxT("Client request is invalid!"));
			}
			
			if ( CLogger::IsEnabled( logClient ) ) {
				wxString msg = wxString::Format(_("Client requests %u"), i);
				msg += wxT(" ") + wxString::Format(_("File block %u-%u (%d bytes):"),reqblock->StartOffset, reqblock->EndOffset, reqblock->EndOffset - reqblock->StartOffset);
				msg += wxT(" ") + GetFullIP();
				AddLogLineM(false, msg);
			}
			
			md4cpy(reqblock->FileID, reqfilehash.GetHash());
			reqblock->transferred = 0;
			AddReqBlock(reqblock);
		} catch (...) {
			delete reqblock;
			throw;
		}
	}
}