|
|
@@ -158,7 +158,13 @@ static int image_ihex_buffer_complete_inner(struct image *image, char *lpszLine, |
|
|
|
/* we can't determine the number of sections that we'll have to create ahead of time, |
|
|
|
* so we locally hold them until parsing is finished */ |
|
|
|
|
|
|
|
ihex->buffer = malloc(fileio_size(fileio) >> 1); |
|
|
|
int filesize; |
|
|
|
int retval; |
|
|
|
retval = fileio_size(fileio, &filesize); |
|
|
|
if (retval != ERROR_OK) |
|
|
|
return retval; |
|
|
|
|
|
|
|
ihex->buffer = malloc(filesize >> 1); |
|
|
|
cooked_bytes = 0x0; |
|
|
|
image->num_sections = 0; |
|
|
|
section[image->num_sections].private = &ihex->buffer[cooked_bytes]; |
|
|
@@ -537,7 +543,13 @@ static int image_mot_buffer_complete_inner(struct image *image, char *lpszLine, |
|
|
|
/* we can't determine the number of sections that we'll have to create ahead of time, |
|
|
|
* so we locally hold them until parsing is finished */ |
|
|
|
|
|
|
|
mot->buffer = malloc(fileio_size(fileio) >> 1); |
|
|
|
int retval; |
|
|
|
int filesize; |
|
|
|
retval = fileio_size(fileio, &filesize); |
|
|
|
if (retval != ERROR_OK) |
|
|
|
return retval; |
|
|
|
|
|
|
|
mot->buffer = malloc(filesize >> 1); |
|
|
|
cooked_bytes = 0x0; |
|
|
|
image->num_sections = 0; |
|
|
|
section[image->num_sections].private = &mot->buffer[cooked_bytes]; |
|
|
@@ -743,11 +755,18 @@ int image_open(struct image *image, const char *url, const char *type_string) |
|
|
|
{ |
|
|
|
return retval; |
|
|
|
} |
|
|
|
int filesize; |
|
|
|
retval = fileio_size(&image_binary->fileio, &filesize); |
|
|
|
if (retval != ERROR_OK) |
|
|
|
{ |
|
|
|
fileio_close(&image_binary->fileio); |
|
|
|
return retval; |
|
|
|
} |
|
|
|
|
|
|
|
image->num_sections = 1; |
|
|
|
image->sections = malloc(sizeof(struct imagesection)); |
|
|
|
image->sections[0].base_address = 0x0; |
|
|
|
image->sections[0].size = fileio_size(&image_binary->fileio); |
|
|
|
image->sections[0].size = filesize; |
|
|
|
image->sections[0].flags = 0; |
|
|
|
} |
|
|
|
else if (image->type == IMAGE_IHEX) |
|
|
|