miscfileformats.c: use GFX2_malloc()
This commit is contained in:
		
							parent
							
								
									9a084bca66
								
							
						
					
					
						commit
						911ad97646
					
				@ -57,6 +57,7 @@
 | 
				
			|||||||
#include "input.h"
 | 
					#include "input.h"
 | 
				
			||||||
#include "help.h"
 | 
					#include "help.h"
 | 
				
			||||||
#include "fileformats.h"
 | 
					#include "fileformats.h"
 | 
				
			||||||
 | 
					#include "gfx2mem.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern char Program_version[]; // generated in pversion.c
 | 
					extern char Program_version[]; // generated in pversion.c
 | 
				
			||||||
extern const char SVN_revision[]; // generated in version.c
 | 
					extern const char SVN_revision[]; // generated in version.c
 | 
				
			||||||
@ -1783,7 +1784,7 @@ void Save_PI1(T_IO_Context * context)
 | 
				
			|||||||
    setvbuf(file, NULL, _IOFBF, 64*1024);
 | 
					    setvbuf(file, NULL, _IOFBF, 64*1024);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // allocation d'un buffer mémoire
 | 
					    // allocation d'un buffer mémoire
 | 
				
			||||||
    buffer=(byte *)malloc(32034);
 | 
					    buffer = GFX2_malloc(32034);
 | 
				
			||||||
    // Codage de la résolution
 | 
					    // Codage de la résolution
 | 
				
			||||||
    buffer[0]=0x00;
 | 
					    buffer[0]=0x00;
 | 
				
			||||||
    buffer[1]=0x00;
 | 
					    buffer[1]=0x00;
 | 
				
			||||||
@ -2087,7 +2088,7 @@ void Load_PC1(T_IO_Context * context)
 | 
				
			|||||||
      return;
 | 
					      return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bufferdecomp=(byte *)malloc(32000);
 | 
					  bufferdecomp = GFX2_malloc(32000);
 | 
				
			||||||
  if (bufferdecomp == NULL)
 | 
					  if (bufferdecomp == NULL)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    fclose(file);
 | 
					    fclose(file);
 | 
				
			||||||
@ -2172,8 +2173,8 @@ void Save_PC1(T_IO_Context * context)
 | 
				
			|||||||
    setvbuf(file, NULL, _IOFBF, 64*1024);
 | 
					    setvbuf(file, NULL, _IOFBF, 64*1024);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Allocation des buffers mémoire
 | 
					    // Allocation des buffers mémoire
 | 
				
			||||||
    bufferdecomp=(byte *)malloc(32000);
 | 
					    bufferdecomp = GFX2_malloc(32000);
 | 
				
			||||||
    buffercomp  =(byte *)malloc(64066);
 | 
					    buffercomp = GFX2_malloc(64066);
 | 
				
			||||||
    // Codage de la résolution
 | 
					    // Codage de la résolution
 | 
				
			||||||
    buffercomp[0]=0x80;
 | 
					    buffercomp[0]=0x80;
 | 
				
			||||||
    buffercomp[1]=0x00;
 | 
					    buffercomp[1]=0x00;
 | 
				
			||||||
@ -2707,7 +2708,7 @@ void Test_C64(T_IO_Context * context, FILE * file)
 | 
				
			|||||||
      if (load_addr == 0x6000 || load_addr == 0x5c00)
 | 
					      if (load_addr == 0x6000 || load_addr == 0x5c00)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        long unpacked_size;
 | 
					        long unpacked_size;
 | 
				
			||||||
        byte * buffer = malloc(file_size);
 | 
					        byte * buffer = GFX2_malloc(file_size);
 | 
				
			||||||
        if (buffer == NULL)
 | 
					        if (buffer == NULL)
 | 
				
			||||||
          return;
 | 
					          return;
 | 
				
			||||||
        fseek(file, SEEK_SET, 0);
 | 
					        fseek(file, SEEK_SET, 0);
 | 
				
			||||||
@ -3030,7 +3031,7 @@ static long C64_unpack_amica(byte ** file_buffer, long file_size)
 | 
				
			|||||||
  unpacked_size = C64_unpack_get_length(*file_buffer + 2, file_size - 2, RLE_code, 0);
 | 
					  unpacked_size = C64_unpack_get_length(*file_buffer + 2, file_size - 2, RLE_code, 0);
 | 
				
			||||||
  GFX2_Log(GFX2_DEBUG, "C64_unpack_amica() unpacked_size=%ld\n", unpacked_size);
 | 
					  GFX2_Log(GFX2_DEBUG, "C64_unpack_amica() unpacked_size=%ld\n", unpacked_size);
 | 
				
			||||||
   // 2nd pass to unpack
 | 
					   // 2nd pass to unpack
 | 
				
			||||||
  unpacked_buffer = malloc(unpacked_size);
 | 
					  unpacked_buffer = GFX2_malloc(unpacked_size);
 | 
				
			||||||
  if (unpacked_buffer == NULL)
 | 
					  if (unpacked_buffer == NULL)
 | 
				
			||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
  C64_unpack(unpacked_buffer, *file_buffer + 2, file_size - 2, RLE_code, 0);
 | 
					  C64_unpack(unpacked_buffer, *file_buffer + 2, file_size - 2, RLE_code, 0);
 | 
				
			||||||
@ -3065,7 +3066,7 @@ static long C64_unpack_draz(byte ** file_buffer, long file_size)
 | 
				
			|||||||
  GFX2_Log(GFX2_DEBUG, "C64_unpack_draz() \"%.13s\" RLE code=$%02X RLE data length=%ld unpacked_size=%ld\n",
 | 
					  GFX2_Log(GFX2_DEBUG, "C64_unpack_draz() \"%.13s\" RLE code=$%02X RLE data length=%ld unpacked_size=%ld\n",
 | 
				
			||||||
           *file_buffer + 2, RLE_code, file_size - 16, unpacked_size);
 | 
					           *file_buffer + 2, RLE_code, file_size - 16, unpacked_size);
 | 
				
			||||||
   // 2nd pass to unpack
 | 
					   // 2nd pass to unpack
 | 
				
			||||||
  unpacked_buffer = malloc(unpacked_size);
 | 
					  unpacked_buffer = GFX2_malloc(unpacked_size);
 | 
				
			||||||
  if (unpacked_buffer == NULL)
 | 
					  if (unpacked_buffer == NULL)
 | 
				
			||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
  C64_unpack(unpacked_buffer, *file_buffer + 16, file_size - 16, RLE_code, 0);
 | 
					  C64_unpack(unpacked_buffer, *file_buffer + 16, file_size - 16, RLE_code, 0);
 | 
				
			||||||
@ -3091,7 +3092,7 @@ static long C64_unpack_doodle(byte ** file_buffer, long file_size)
 | 
				
			|||||||
  unpacked_size = C64_unpack_get_length(*file_buffer + 2, file_size - 2, RLE_code, 1);
 | 
					  unpacked_size = C64_unpack_get_length(*file_buffer + 2, file_size - 2, RLE_code, 1);
 | 
				
			||||||
  GFX2_Log(GFX2_DEBUG, "C64_unpack_doodle() unpacked_size=%ld\n", unpacked_size);
 | 
					  GFX2_Log(GFX2_DEBUG, "C64_unpack_doodle() unpacked_size=%ld\n", unpacked_size);
 | 
				
			||||||
   // 2nd pass to unpack
 | 
					   // 2nd pass to unpack
 | 
				
			||||||
  unpacked_buffer = malloc(unpacked_size);
 | 
					  unpacked_buffer = GFX2_malloc(unpacked_size);
 | 
				
			||||||
  if (unpacked_buffer == NULL)
 | 
					  if (unpacked_buffer == NULL)
 | 
				
			||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
  C64_unpack(unpacked_buffer, *file_buffer + 2, file_size - 2, RLE_code, 1);
 | 
					  C64_unpack(unpacked_buffer, *file_buffer + 2, file_size - 2, RLE_code, 1);
 | 
				
			||||||
@ -3133,7 +3134,7 @@ void Load_C64(T_IO_Context * context)
 | 
				
			|||||||
        file_size = File_length_file(file);
 | 
					        file_size = File_length_file(file);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Load entire file in memory
 | 
					        // Load entire file in memory
 | 
				
			||||||
        file_buffer=(byte *)malloc(file_size);
 | 
					        file_buffer = GFX2_malloc(file_size);
 | 
				
			||||||
        if (!file_buffer)
 | 
					        if (!file_buffer)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            File_error = 1;
 | 
					            File_error = 1;
 | 
				
			||||||
@ -3220,7 +3221,7 @@ void Load_C64(T_IO_Context * context)
 | 
				
			|||||||
                // duplicated between offset      $2002 and $2073
 | 
					                // duplicated between offset      $2002 and $2073
 | 
				
			||||||
                bitmap=file_buffer+114+2;         // $0074
 | 
					                bitmap=file_buffer+114+2;         // $0074
 | 
				
			||||||
                background=file_buffer+8000+114+2;// $1FB4
 | 
					                background=file_buffer+8000+114+2;// $1FB4
 | 
				
			||||||
                temp_buffer=malloc(1000);
 | 
					                temp_buffer = GFX2_malloc(1000);
 | 
				
			||||||
                memset(temp_buffer, file_buffer[3+8000+114+2], 1000); // color RAM Byte
 | 
					                memset(temp_buffer, file_buffer[3+8000+114+2], 1000); // color RAM Byte
 | 
				
			||||||
                color_ram=temp_buffer;
 | 
					                color_ram=temp_buffer;
 | 
				
			||||||
                //border  byte = file_buffer[4+8000+114+2];
 | 
					                //border  byte = file_buffer[4+8000+114+2];
 | 
				
			||||||
@ -4067,10 +4068,9 @@ void Load_GPX(T_IO_Context * context)
 | 
				
			|||||||
  if (file == NULL)
 | 
					  if (file == NULL)
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  file_size = File_length_file(file);
 | 
					  file_size = File_length_file(file);
 | 
				
			||||||
  buffer = malloc(file_size);
 | 
					  buffer = GFX2_malloc(file_size);
 | 
				
			||||||
  if (buffer == NULL)
 | 
					  if (buffer == NULL)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    GFX2_Log(GFX2_ERROR, "Failed to allocate %lu bytes.\n", file_size);
 | 
					 | 
				
			||||||
    fclose(file);
 | 
					    fclose(file);
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -4084,10 +4084,9 @@ void Load_GPX(T_IO_Context * context)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      free(gpx);
 | 
					      free(gpx);
 | 
				
			||||||
      gpx_size += 65536;
 | 
					      gpx_size += 65536;
 | 
				
			||||||
      gpx = malloc(gpx_size);
 | 
					      gpx = GFX2_malloc(gpx_size);
 | 
				
			||||||
      if (gpx == NULL)
 | 
					      if (gpx == NULL)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        GFX2_Log(GFX2_ERROR, "Failed to allocate %lu bytes\n", gpx_size);
 | 
					 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      r = uncompress(gpx, &gpx_size, buffer, file_size);
 | 
					      r = uncompress(gpx, &gpx_size, buffer, file_size);
 | 
				
			||||||
@ -4424,7 +4423,7 @@ void Load_SCR(T_IO_Context * context)
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
  fseek(file, -5, SEEK_CUR);
 | 
					  fseek(file, -5, SEEK_CUR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pixel_data = malloc(16384);
 | 
					  pixel_data = GFX2_malloc(16384);
 | 
				
			||||||
  memset(pixel_data, 0, 16384);
 | 
					  memset(pixel_data, 0, 16384);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (0 != memcmp(sig, "MJH", 3) || block_length > 16384)
 | 
					  if (0 != memcmp(sig, "MJH", 3) || block_length > 16384)
 | 
				
			||||||
@ -5887,8 +5886,8 @@ void Load_MOTO(T_IO_Context * context)
 | 
				
			|||||||
        break;
 | 
					        break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    GFX2_Log(GFX2_DEBUG, "Map mode &H%02X row=%u line=%u (%dx%d) %d\n", map_mode, col_count, line_count, width, height, columns * height);
 | 
					    GFX2_Log(GFX2_DEBUG, "Map mode &H%02X row=%u line=%u (%dx%d) %d\n", map_mode, col_count, line_count, width, height, columns * height);
 | 
				
			||||||
    vram_forme = malloc(columns * height);
 | 
					    vram_forme = GFX2_malloc(columns * height);
 | 
				
			||||||
    vram_couleur = malloc(columns * height);
 | 
					    vram_couleur = GFX2_malloc(columns * height);
 | 
				
			||||||
    // Check extension (TO-SNAP / PPM / ???)
 | 
					    // Check extension (TO-SNAP / PPM / ???)
 | 
				
			||||||
    if (length > 36)
 | 
					    if (length > 36)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -6092,7 +6091,7 @@ void Load_MOTO(T_IO_Context * context)
 | 
				
			|||||||
    char * ext;
 | 
					    char * ext;
 | 
				
			||||||
    int n_colors;
 | 
					    int n_colors;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    vram_forme = malloc(file_size);
 | 
					    vram_forme = GFX2_malloc(file_size);
 | 
				
			||||||
    if (vram_forme == NULL)
 | 
					    if (vram_forme == NULL)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      fclose(file);
 | 
					      fclose(file);
 | 
				
			||||||
@ -6160,7 +6159,7 @@ void Load_MOTO(T_IO_Context * context)
 | 
				
			|||||||
    free(filename);
 | 
					    free(filename);
 | 
				
			||||||
    if (vram_forme == NULL)
 | 
					    if (vram_forme == NULL)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      vram_forme = malloc(file_size);
 | 
					      vram_forme = GFX2_malloc(file_size);
 | 
				
			||||||
      if (vram_forme == NULL)
 | 
					      if (vram_forme == NULL)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        free(vram_couleur);
 | 
					        free(vram_couleur);
 | 
				
			||||||
@ -6171,7 +6170,7 @@ void Load_MOTO(T_IO_Context * context)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      vram_couleur = malloc(file_size);
 | 
					      vram_couleur = GFX2_malloc(file_size);
 | 
				
			||||||
      if (vram_couleur == NULL)
 | 
					      if (vram_couleur == NULL)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        free(vram_forme);
 | 
					        free(vram_forme);
 | 
				
			||||||
@ -6320,7 +6319,7 @@ static unsigned int MOTO_MAP_pack(byte * packed, const byte * unpacked, unsigned
 | 
				
			|||||||
  src += count;
 | 
					  src += count;
 | 
				
			||||||
  return dst;
 | 
					  return dst;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  counts = malloc(sizeof(word) * (unpacked_len + 1));
 | 
					  counts = GFX2_malloc(sizeof(word) * (unpacked_len + 1));
 | 
				
			||||||
  i = 0;
 | 
					  i = 0;
 | 
				
			||||||
  repeat = (unpacked[0] == unpacked[1]);
 | 
					  repeat = (unpacked[0] == unpacked[1]);
 | 
				
			||||||
  count = 2;
 | 
					  count = 2;
 | 
				
			||||||
@ -6612,8 +6611,8 @@ void Save_MOTO(T_IO_Context * context)
 | 
				
			|||||||
    transpose = 0;
 | 
					    transpose = 0;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vram_forme = malloc(8192);
 | 
					  vram_forme = GFX2_malloc(8192);
 | 
				
			||||||
  vram_couleur = malloc(8192);
 | 
					  vram_couleur = GFX2_malloc(8192);
 | 
				
			||||||
  switch (mode)
 | 
					  switch (mode)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
  case MOTO_MODE_40col:
 | 
					  case MOTO_MODE_40col:
 | 
				
			||||||
@ -6924,8 +6923,8 @@ void Save_MOTO(T_IO_Context * context)
 | 
				
			|||||||
    byte * unpacked_data;
 | 
					    byte * unpacked_data;
 | 
				
			||||||
    byte * packed_data;
 | 
					    byte * packed_data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    unpacked_data = malloc(16*1024);
 | 
					    unpacked_data = GFX2_malloc(16*1024);
 | 
				
			||||||
    packed_data = malloc(16*1024);
 | 
					    packed_data = GFX2_malloc(16*1024);
 | 
				
			||||||
    if (packed_data == NULL || unpacked_data == NULL)
 | 
					    if (packed_data == NULL || unpacked_data == NULL)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      GFX2_Log(GFX2_ERROR, "Failed to allocate 2x16kB of memory\n");
 | 
					      GFX2_Log(GFX2_ERROR, "Failed to allocate 2x16kB of memory\n");
 | 
				
			||||||
@ -7113,11 +7112,11 @@ void Load_HGR(T_IO_Context * context)
 | 
				
			|||||||
  if (file_size == 16384)
 | 
					  if (file_size == 16384)
 | 
				
			||||||
    is_dhgr = 1;
 | 
					    is_dhgr = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vram[0] = malloc(8192);
 | 
					  vram[0] = GFX2_malloc(8192);
 | 
				
			||||||
  Read_bytes(file, vram[0], 8192);
 | 
					  Read_bytes(file, vram[0], 8192);
 | 
				
			||||||
  if (is_dhgr)
 | 
					  if (is_dhgr)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    vram[1] = malloc(8192);
 | 
					    vram[1] = GFX2_malloc(8192);
 | 
				
			||||||
    Read_bytes(file, vram[1], 8192);
 | 
					    Read_bytes(file, vram[1], 8192);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user