Protecting volume ids from getting overwritten by predecessor

This commit is contained in:
2008-02-08 17:52:43 +00:00
parent 3e567fd6c6
commit cb0b796c34
5 changed files with 24 additions and 10 deletions

View File

@ -2686,6 +2686,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->global_uid= 0;
strcpy(m->volid, "ISOIMAGE");
m->loaded_volid[0]= 0;
m->volid_default= 1;
m->do_global_gid= 0;
m->global_gid= 0;
m->do_global_mode= 0;
@ -3852,10 +3853,16 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (strcmp(xorriso->volid, "ISOIMAGE")==0);
is_default= xorriso->volid_default;
sprintf(line,"-volid %s\n",Text_shellsafe(xorriso->volid,sfe,0));
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
if(is_default && xorriso->loaded_volid[0] &&
strcmp(xorriso->loaded_volid, xorriso->volid)!=0 && !no_defaults) {
sprintf(line,"# loaded image effective -volid %s\n",
Text_shellsafe(xorriso->loaded_volid,sfe,0));
Xorriso_status_result(xorriso,filter,fp,flag&2);
}
is_default= (xorriso->do_joliet==0);
sprintf(line,"-joliet %s\n", (xorriso->do_joliet == 1 ? "on" : "off"));
@ -8285,6 +8292,8 @@ int Xorriso_option_volid(struct XorrisO *xorriso, char *volid, int flag)
ret= Xorriso_set_volid(xorriso, volid, 0);
if(ret<=0)
return(ret);
xorriso->volid_default= (strcmp(xorriso->volid, "ISOIMAGE")==0 ||
xorriso->volid[0]==0);
return(1);
}