Protecting volume ids from getting overwritten by predecessor
This commit is contained in:
@ -349,9 +349,7 @@ int Xorriso_update_volid(struct XorrisO *xorriso, int flag)
|
||||
int gret, sret= 1;
|
||||
|
||||
gret= Xorriso_get_volid(xorriso, xorriso->loaded_volid, 0);
|
||||
if(gret>0 && strcmp(xorriso->volid, "ISOIMAGE")==0)
|
||||
strcpy(xorriso->volid, xorriso->loaded_volid);
|
||||
else
|
||||
if(gret<=0 || (!xorriso->volid_default) || xorriso->loaded_volid[0]==0)
|
||||
sret= Xorriso_set_volid(xorriso, xorriso->volid, 1);
|
||||
return(gret>0 && sret>0);
|
||||
}
|
||||
@ -574,7 +572,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
if(xorriso->loaded_volid[0]!=0) {
|
||||
sprintf(xorriso->result_line,"Volume id : '%s'\n",xorriso->loaded_volid);
|
||||
Xorriso_result(xorriso,0);
|
||||
if(strcmp(xorriso->loaded_volid, xorriso->volid)!=0) {
|
||||
if(strcmp(xorriso->loaded_volid, xorriso->volid)!=0 &&
|
||||
!xorriso->volid_default) {
|
||||
sprintf(xorriso->result_line, "New volume id: '%s'\n", xorriso->volid);
|
||||
Xorriso_result(xorriso,0);
|
||||
}
|
||||
@ -3508,6 +3507,8 @@ int Xorriso_set_volid(struct XorrisO *xorriso, char *volid, int flag)
|
||||
int ret;
|
||||
IsoImage *volume;
|
||||
|
||||
if(xorriso->in_volset_handle == NULL)
|
||||
return(2);
|
||||
ret= Xorriso_get_volume(xorriso, &volume, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
|
Reference in New Issue
Block a user