libisoburn refused to recognize ISO images smaller than 64 kB
This commit is contained in:
parent
0b0bd01d12
commit
d60e2d79ca
@ -1070,7 +1070,7 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
|
|||||||
{
|
{
|
||||||
unsigned char buffer[64*1024];
|
unsigned char buffer[64*1024];
|
||||||
int ret, info_mode, capacity, role;
|
int ret, info_mode, capacity, role;
|
||||||
off_t data_count;
|
off_t data_count, to_read;
|
||||||
|
|
||||||
info_mode= flag&255;
|
info_mode= flag&255;
|
||||||
*image_blocks= 0;
|
*image_blocks= 0;
|
||||||
@ -1085,11 +1085,15 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
|
|||||||
capacity = 0x7ffffff0;
|
capacity = 0x7ffffff0;
|
||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
if(ret > 0 && (off_t) capacity * (off_t) 2048 >= (off_t) (64 * 1024)) {
|
memset(buffer, 0, 64 * 1024);
|
||||||
|
to_read= capacity * 2048;
|
||||||
|
if(ret > 0 && to_read >= (off_t) (36 * 1024)) {
|
||||||
|
if(to_read >= (off_t) (64 * 1024))
|
||||||
|
to_read= 64 * 1024;
|
||||||
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
|
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
|
||||||
(off_t) 64*1024, &data_count, 2); /* no error messages */
|
to_read, &data_count, 2); /* no error messages */
|
||||||
} else
|
} else
|
||||||
ret= 0;
|
ret= 0;
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
return(-1*!!(flag&(1<<15)));
|
return(-1*!!(flag&(1<<15)));
|
||||||
if(info_mode==2)
|
if(info_mode==2)
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2010.03.30.082405"
|
#define Xorriso_timestamP "2010.04.01.140653"
|
||||||
|
Loading…
Reference in New Issue
Block a user