Bool WREAppendDataToData( BYTE **d1, uint_32 *d1size, BYTE *d2, uint_32 d2size ) { if( d1 == NULL || d1size == NULL || d2 == NULL || d2size == 0 ) { return( FALSE ); } *d1 = WREMemRealloc( *d1, *d1size + d2size ); if( *d1 == NULL ) { return( FALSE ); } memcpy( *d1 + *d1size, d2, d2size ); *d1size += d2size; return( TRUE ); }
Bool WREAppendDataToData( BYTE **d1, uint_32 *d1size, BYTE *d2, uint_32 d2size ) { if( !d1 || !d1size || !d2 || !d2size ) { return( FALSE ); } *d1 = WREMemRealloc( *d1, *d1size + d2size ); if( !*d1 ) { return( FALSE ); } memcpy( *d1 + *d1size, d2, d2size ); *d1size += d2size; return( TRUE ); }
Bool WREAddCursorHotspot( BYTE **cursor, uint_32 *size, CURSORHOTSPOT *hs ) { int hs_size; hs_size = sizeof( CURSORHOTSPOT ); if( cursor == NULL || size == NULL ) { return( FALSE ); } *cursor = WREMemRealloc( *cursor, *size + hs_size ); if( *cursor == NULL ) { return( FALSE ); } memmove( *cursor + hs_size, *cursor, *size ); memcpy( *cursor, hs, hs_size ); *size += hs_size; return( TRUE ); }
Bool WRECalcAndAddIconDirectory( BYTE **data, uint_32 *size, WORD type ) { ICONHEADER *ih; uint_32 ihsize; if( !WRCreateIconHeader( *data, *size, type, &ih, &ihsize ) ) { return( FALSE ); } *data = WREMemRealloc( *data, *size + ihsize ); if( *data == NULL ) { return( FALSE ); } memmove( *data + ihsize, *data, *size ); memcpy( *data, ih, ihsize ); *size += ihsize; WREMemFree( ih ); return( TRUE ); }