08-27-2017 01:55 AM
08-29-2017 10:17 AM
08-29-2017 02:06 PM
115,116c115
<
< bool ovr_ReadFileFromOtherApplicationPackage( void * zipFile, const char * nameInZip, MemBufferT< uint8_t > & outBuffer )
---
> static bool ovr_ReadFileFromOtherApplicationPackageInternal( void * zipFile, const char * nameInZip, int & length, void * & buffer, const bool useMalloc )
118,120c117,124
< int length = 0;
< void * buffer = NULL;
< bool const success = ovr_ReadFileFromOtherApplicationPackage( zipFile, nameInZip, length, buffer );
---
> auto allocBuffer = [] ( const size_t size, const bool useMalloc )
> {
> if ( useMalloc )
> {
> return malloc( size );
> }
> return (void*)( new unsigned char [size] );
> };
122,124c126,136
< outBuffer.TakeOwnershipOfBuffer( buffer, length );
< return success;
< }
---
> auto freeBuffer = [] ( void * buffer, const bool useMalloc )
> {
> if ( useMalloc )
> {
> free( buffer );
> }
> else
> {
> delete [] (unsigned char*)buffer;
> }
> };
126,127d137
< bool ovr_ReadFileFromOtherApplicationPackage( void * zipFile, const char * nameInZip, int & length, void * & buffer )
< {
178c188
< buffer = malloc( length );
---
> buffer = allocBuffer( length, useMalloc );
185c195
< free( buffer );
---
> freeBuffer( buffer, useMalloc );
211c221
< buffer = malloc( length );
---
> buffer = allocBuffer( length, useMalloc );
217c227
< free( buffer );
---
> freeBuffer( buffer, useMalloc );
264a275,291
> bool ovr_ReadFileFromOtherApplicationPackage( void * zipFile, const char * nameInZip, MemBufferT< uint8_t > & outBuffer )
> {
> int length = 0;
> void * buffer = NULL;
> // allocate using new / delete
> bool const success = ovr_ReadFileFromOtherApplicationPackageInternal( zipFile, nameInZip, length, buffer, false );
>
> outBuffer.TakeOwnershipOfBuffer( buffer, length );
> return success;
> }
>
> bool ovr_ReadFileFromOtherApplicationPackage( void * zipFile, const char * nameInZip, int & length, void * & buffer )
> {
> // allocate using malloc / free
> return ovr_ReadFileFromOtherApplicationPackageInternal( zipFile, nameInZip, length, buffer, true );
> }
>
09-06-2017 03:17 AM