Corrected strange behavior with non-ISO images on overwriteable media
This commit is contained in:
@ -184,7 +184,8 @@ Closed is the state of DVD-ROM media and of multi-session media which were
|
||||
written with option -close on. If the drive is incapable of writing it will
|
||||
probably show any media as closed CD-ROM resp. DVD-ROM.
|
||||
.br
|
||||
Overwriteable media assume this state only in such read-only drives.
|
||||
Overwriteable media assume this state in such read-only drives or if they
|
||||
contain unrecognizable data in the first 32 data blocks.
|
||||
.br
|
||||
\fBRead-only\fR drives may or may not show session histories of multi-session
|
||||
media. Often only the first and the last session are visible. Sometimes
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2008.05.13.115901"
|
||||
#define Xorriso_timestamP "2008.05.13.135251"
|
||||
|
@ -928,7 +928,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
"-indev differs from -outdev and -outdev media is not blank");
|
||||
else
|
||||
sprintf(xorriso->info_text,
|
||||
"-indev differs from -outdev and -outdev media holds valid ISO image");
|
||||
"-indev differs from -outdev and -outdev media holds non-zero data");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
@ -2260,7 +2260,7 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
||||
int num_sessions= 0, num_tracks= 0, lba= 0, nwa= -1, pmin, psec, pframe, ret;
|
||||
int track_count= 0, session_no, track_no, profile_no= -1, track_size;
|
||||
int last_track_start= 0, last_track_size= -1, num_data= 0, is_data= 0;
|
||||
int is_inout_drive= 0, drive_role;
|
||||
int is_inout_drive= 0, drive_role, status, num_formats;
|
||||
int num_payload= 0, num_wasted= 0, num_nondata= 0;
|
||||
char profile_name[80],*respt,*devadr;
|
||||
struct burn_toc_entry toc_entry;
|
||||
@ -2268,7 +2268,8 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
||||
struct burn_drive *drive;
|
||||
enum burn_disc_status s;
|
||||
char mem_text[80];
|
||||
off_t start_byte= 0, num_free= 0;
|
||||
off_t start_byte= 0, num_free= 0, size;
|
||||
unsigned dummy;
|
||||
|
||||
#ifdef Xorriso_use_isoburn_toC
|
||||
struct isoburn_toc_disc *disc= NULL;
|
||||
@ -2385,6 +2386,11 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
||||
sprintf(respt, "ISO session : %3d , %9d , %9ds , %s\n",
|
||||
1, 0, image_blocks, volume_id);
|
||||
} else {
|
||||
nwa= 0;
|
||||
ret= burn_disc_get_formats(drive, &status, &size, &dummy,
|
||||
&num_formats);
|
||||
if(ret>0 && status==BURN_FORMAT_IS_FORMATTED)
|
||||
nwa= size/2048;
|
||||
sprintf(respt, "Other session: %3d , %9d , %9ds , \n",
|
||||
1, 0, nwa);
|
||||
}
|
||||
|
Reference in New Issue
Block a user