Subversion Repositories spk

Rev

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

Rev 1 Rev 16
Line 422... Line 422...
422
		if ( (int)m_fDatFile.GetFilesize() > this->GetEndOffset() )
422
		if ( (int)m_fDatFile.GetFilesize() > this->GetEndOffset() )
423
			m_fDatFile.TruncateFile( this->GetEndOffset(), m_fDatFile.GetFilesize() - this->GetEndOffset() );
423
			m_fDatFile.TruncateFile( this->GetEndOffset(), m_fDatFile.GetFilesize() - this->GetEndOffset() );
424
	}
424
	}
425
	else if ( err != FILEERR_NONE )
425
	else if ( err != FILEERR_NONE )
426
		return false;
426
		return false;
-
 
427
 
-
 
428
	// adjust the file positions
-
 
429
	bool bAdjust = false;
-
 
430
	int iOffset;
-
 
431
	for ( CListNode<SInCatFile> *node = m_lFiles.Front(); node; node = node->next() ) {
-
 
432
		int iNextOffset = node->Data()->lOffset;
-
 
433
		if ( bAdjust ) {
-
 
434
			node->Data()->lOffset = iOffset;
-
 
435
		}
-
 
436
		else if ( node->Data() == f ) {
-
 
437
			bAdjust = true;
-
 
438
		}
-
 
439
		else if ( !bAdjust ) continue;
-
 
440
		iOffset = iNextOffset;
-
 
441
	}
427
 
442
 
428
	// now just write the new cat file
443
	// now just write the new cat file
429
	m_lFiles.remove ( f );
444
	m_lFiles.remove ( f );
430
	WriteCatFile ();
445
	WriteCatFile ();
431
 
446
 
Line 448... Line 463...
448
 
463
 
449
	if ( !cat.Length() )
464
	if ( !cat.Length() )
450
		return false;
465
		return false;
451
 
466
 
452
	size_t len = cat.Length();
467
	size_t len = cat.Length();
453
	if ( len % 5)
468
//	if ( len % 5)
454
		len += (5 - (len % 5));
469
//		len += (5 - (len % 5));
455
 
470
 
456
	unsigned char *data = new unsigned char[len + 1];
471
	unsigned char *data = new unsigned char[len + 1];
457
	memcpy ( data, cat.c_str(), cat.Length() );
472
	memcpy ( data, cat.c_str(), cat.Length() );
458
 
473
 
459
	for ( size_t i = len; i > cat.Length(); i-- )
474
	for ( size_t i = len; i > cat.Length(); i-- )