Subversion Repositories spk

Rev

Rev 58 | Rev 88 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 58 Rev 61
Line 405... Line 405...
405
bool C_File::readFromFile(CFileIO &File, int iSize, bool bDoSize)
405
bool C_File::readFromFile(CFileIO &File, int iSize, bool bDoSize)
406
{
406
{
407
	if ( !File.isOpened() ) File.startRead();
407
	if ( !File.isOpened() ) File.startRead();
408
	if ( !File.isOpened() ) return false;
408
	if ( !File.isOpened() ) return false;
409
 
409
 
410
	m_lDataSize = File.fileSize();
410
	m_lDataSize = iSize;
411
	try {
411
	try {
412
		m_sData = new unsigned char[m_lDataSize];
412
		m_sData = new unsigned char[m_lDataSize];
413
	}
413
	}
414
	catch(std::exception &e) {
414
	catch(std::exception &e) {
415
		CLog::logf(CLog::Log_IO, 2, "C_File::readFromFile() unable to malloc, %d (%s)", File.fileSize(), e.what());
415
		CLog::logf(CLog::Log_IO, 2, "C_File::readFromFile() unable to malloc, %d (%s)", m_lDataSize, e.what());
416
		return false;
416
		return false;
417
	}
417
	}
418
 
418
 
419
	if ( bDoSize ) File.readSize();
419
	if ( bDoSize ) File.readSize();
420
 
420
 
421
	try { 
421
	try { 
422
		File.read(m_sData, m_lDataSize); 
422
		File.read(m_sData, m_lDataSize); 
423
	}
423
	}
424
	catch(std::exception &e) {
424
	catch(std::exception &e) {
425
		CLog::logf(CLog::Log_IO, 2, "C_File::readFromFile() unable to read from file, %d (%s)", File.fileSize(), e.what());
425
		CLog::logf(CLog::Log_IO, 2, "C_File::readFromFile() unable to read from file, %d (%s)", m_lDataSize, e.what());
426
		DeleteData ();
426
		DeleteData ();
427
		m_lDataSize = 0;
427
		m_lDataSize = 0;
428
		return false;
428
		return false;
429
	}
429
	}
430
	return true;
430
	return true;