Changed struct isoburn_read_opts to opaque handle
This commit is contained in:
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2008.01.28.235717"
|
||||
#define Xorriso_timestamP "2008.01.29.125956"
|
||||
|
@ -211,7 +211,7 @@ int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
int ret;
|
||||
IsoImage *volset;
|
||||
struct isoburn_read_opts ropts;
|
||||
struct isoburn_read_opts *ropts;
|
||||
struct burn_drive_info *dinfo= NULL;
|
||||
struct burn_drive *drive= NULL;
|
||||
|
||||
@ -227,11 +227,16 @@ int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag)
|
||||
xorriso->loaded_volid[0]= 0;
|
||||
xorriso->volset_change_pending= 0;
|
||||
}
|
||||
memset(&ropts, sizeof(ropts), 0);
|
||||
ropts.pretend_blank= 1;
|
||||
ropts.input_charset= NULL;
|
||||
ret= isoburn_read_image(drive, &ropts, &volset);
|
||||
|
||||
ret= isoburn_ropt_new(&ropts, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
/* Note: no return before isoburn_ropt_destroy() */
|
||||
isoburn_ropt_set_extensions(ropts, isoburn_ropt_pretend_blank);
|
||||
isoburn_ropt_set_input_charset(ropts, NULL);
|
||||
ret= isoburn_read_image(drive, ropts, &volset);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
isoburn_ropt_destroy(&ropts, 0);
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text, "Failed to create new empty ISO image object");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
|
||||
@ -257,7 +262,7 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
struct burn_drive *drive, *out_drive, *in_drive;
|
||||
enum burn_disc_status state;
|
||||
IsoImage *volset = NULL;
|
||||
struct isoburn_read_opts ropts;
|
||||
struct isoburn_read_opts *ropts= NULL;
|
||||
char adr_data[SfileadrL], *libburn_adr;
|
||||
|
||||
if((flag&3)==0) {
|
||||
@ -367,6 +372,14 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
return(0);
|
||||
}
|
||||
/* fill read opts */
|
||||
ret= isoburn_ropt_new(&ropts, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
isoburn_ropt_set_extensions(ropts, isoburn_ropt_noiso1999);
|
||||
isoburn_ropt_set_default_perms(ropts, (uid_t) 0, (gid_t) 0, (mode_t) 0555);
|
||||
isoburn_ropt_set_input_charset(ropts, NULL);
|
||||
|
||||
#ifdef NIX
|
||||
memset(&ropts, sizeof(ropts), 0);
|
||||
ropts.norock= 0;
|
||||
ropts.nojoliet= 0;
|
||||
@ -377,9 +390,10 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
ropts.mode= 0555;
|
||||
ropts.input_charset= NULL;
|
||||
ropts.pretend_blank= 0;
|
||||
#endif /* NIX */
|
||||
|
||||
Xorriso_set_image_severities(xorriso, 1); /* No DEBUG messages */
|
||||
if(isoburn_read_image(drive, &ropts, &volset) <= 0) {
|
||||
if(isoburn_read_image(drive, ropts, &volset) <= 0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_set_image_severities(xorriso, 0);
|
||||
sprintf(xorriso->info_text,"Cannot read ISO image volset");
|
||||
@ -411,12 +425,13 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
}
|
||||
ret= 1+not_writeable;
|
||||
ex:
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
if(ret<=0) {
|
||||
hret= Xorriso_give_up_drive(xorriso, flag&3);
|
||||
if(hret<ret)
|
||||
ret= hret;
|
||||
}
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
isoburn_ropt_destroy(&ropts, 0);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user