diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index 97db1deb..cb5b0d1b 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -168,6 +168,9 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->do_follow_mount= 1; m->do_global_uid= 0; m->global_uid= 0; + m->isofs_has_what= 0; + m->tree_loaded= 0; + m->rr_loaded= 0; strcpy(m->volid, "ISOIMAGE"); m->volid_default= 1; m->loaded_volid[0]= 0; diff --git a/xorriso/drive_mgt.c b/xorriso/drive_mgt.c index 12a7af44..0e015e51 100644 --- a/xorriso/drive_mgt.c +++ b/xorriso/drive_mgt.c @@ -692,6 +692,10 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr, } Xorriso_process_msg_queues(xorriso,0); isoburn_ropt_get_size_what(ropts, &size, &has_what); + xorriso->isofs_has_what= has_what; + isoburn_ropt_get_tree_loaded(ropts, &(xorriso->tree_loaded), + &(xorriso->rr_loaded)); + if(has_what & isoburn_ropt_has_el_torito) { if(xorriso->boot_image_bin_path[0]) boot_fate= "replaced by new boot image"; @@ -1279,6 +1283,20 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag) if(!(flag & 2)) Xorriso_show_boot_info(xorriso, 1 | (flag & 8) | ((flag & 1) << 1)); + if(!(flag & 3)) { + sprintf(respt, "ISO offers :%s%s%s%s\n", + xorriso->isofs_has_what & 1 ? " Rock_Ridge" : "", + xorriso->isofs_has_what & 2 ? " Joliet" : "", + xorriso->isofs_has_what & 4 ? " ISO_9660_1999" : "", + xorriso->isofs_has_what & 7 ? "" : " Only_ECMA_119"); + Xorriso_toc_line(xorriso, flag & 8); + sprintf(respt, "ISO loaded : %s\n", + xorriso->tree_loaded == 1 ? "Joliet" : + xorriso->tree_loaded == 2 ? "ISO_9660_1999" : + xorriso->rr_loaded > 0 ? "Rock_Ridge" : "Only_ECMA_119"); + Xorriso_toc_line(xorriso, flag & 8); + } + disc= isoburn_toc_drive_get_disc(drive); if(flag & 4) sprintf(respt, "TOC layout : %3s , %9s , %10s\n", diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index f8ce98fc..91a0ea5e 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -241,6 +241,14 @@ struct XorrisO { /* the global context of xorriso */ int do_overwrite; /* 0=off, 1=on, 2=nondir */ int do_reassure; /* 0=off, 1=on, 2=tree */ + int isofs_has_what; /* bit0= hasRR + bit1= hasJoliet + bit2= hasIso1999 + bit3= hasElTorito + */ + int tree_loaded; /* 0= ISO 9660 , 1 = Joliet , 2 = ISO 9660:1999 */ + int rr_loaded; /* 1= Rock Ridge information was used, 0= Not */ + char volid[33]; int volid_default; char loaded_volid[33]; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 2656055a..1cf7b9b4 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2020.12.07.183710" +#define Xorriso_timestamP "2020.12.07.184159"