Avoided FAILURE event with welcoming empty disk files

This commit is contained in:
2009-10-05 16:55:36 +00:00
parent 7a5d8ca174
commit 9766c28d4f
3 changed files with 15 additions and 6 deletions

View File

@@ -1047,7 +1047,7 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
int *image_blocks, char *info, int flag)
{
unsigned char buffer[64*1024];
int ret, info_mode;
int ret, info_mode, capacity;
off_t data_count;
info_mode= flag&255;
@@ -1055,8 +1055,12 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
if(flag&(1<<13)) {
memcpy(buffer, info, 64*1024);
} else {
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
ret = burn_get_read_capacity(d, &capacity, 0);
if(ret > 0 && (off_t) capacity * (off_t) 2048 >= (off_t) (64 * 1024)) {
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
(off_t) 64*1024, &data_count, 2); /* no error messages */
} else
ret= 0;
if(ret<=0)
return(-1*!!(flag&(1<<15)));
if(info_mode==2)