Bug fix: Partition offset was preserved from -indev rather than from -outdev
This commit is contained in:
parent
09de0f1743
commit
1ff12c26d9
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||||
|
|
||||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -395,8 +395,11 @@ failure:;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
|
int Xorriso_set_system_area(struct XorrisO *xorriso,
|
||||||
IsoImage *img, struct isoburn_imgen_opts *sopts,
|
struct burn_drive *in_drive,
|
||||||
|
struct burn_drive *out_drive,
|
||||||
|
IsoImage *img,
|
||||||
|
struct isoburn_imgen_opts *sopts,
|
||||||
int flag)
|
int flag)
|
||||||
{
|
{
|
||||||
int ret, options, system_area_options, iso_lba= -1, start_lba, image_blocks;
|
int ret, options, system_area_options, iso_lba= -1, start_lba, image_blocks;
|
||||||
@ -468,9 +471,9 @@ int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
|
|||||||
(((unsigned int) ub[461]) << 24));
|
(((unsigned int) ub[461]) << 24));
|
||||||
|
|
||||||
iso_lba= -1;
|
iso_lba= -1;
|
||||||
ret= isoburn_disc_get_msc1(drive, &start_lba);
|
ret= isoburn_disc_get_msc1(in_drive, &start_lba);
|
||||||
if(ret > 0) {
|
if(ret > 0) {
|
||||||
ret= isoburn_read_iso_head(drive, start_lba, &image_blocks,
|
ret= isoburn_read_iso_head(in_drive, start_lba, &image_blocks,
|
||||||
volid, 1);
|
volid, 1);
|
||||||
if(ret > 0)
|
if(ret > 0)
|
||||||
iso_lba= start_lba + image_blocks;
|
iso_lba= start_lba + image_blocks;
|
||||||
@ -570,9 +573,9 @@ do_set:;
|
|||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
offst= xorriso->partition_offset;
|
offst= xorriso->partition_offset;
|
||||||
state= isoburn_disc_get_status(drive);
|
state= isoburn_disc_get_status(out_drive);
|
||||||
if(state == BURN_DISC_APPENDABLE) {
|
if(state == BURN_DISC_APPENDABLE) {
|
||||||
ret= isoburn_get_img_partition_offset(drive, &offst);
|
ret= isoburn_get_img_partition_offset(out_drive, &offst);
|
||||||
if(ret == 1) {
|
if(ret == 1) {
|
||||||
sprintf(xorriso->info_text,
|
sprintf(xorriso->info_text,
|
||||||
"Preserving in ISO image: -boot_image any partition_offset=%lu",
|
"Preserving in ISO image: -boot_image any partition_offset=%lu",
|
||||||
@ -1316,7 +1319,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
|||||||
}
|
}
|
||||||
iso_image_set_data_preparer_id(image, xorriso_id);
|
iso_image_set_data_preparer_id(image, xorriso_id);
|
||||||
}
|
}
|
||||||
ret= Xorriso_set_system_area(xorriso, source_drive, image, sopts, 0);
|
ret= Xorriso_set_system_area(xorriso, source_drive, drive, image, sopts, 0);
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||||
|
|
||||||
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -37,8 +37,11 @@ int Xorriso_sanitize_image_size(struct XorrisO *xorriso,
|
|||||||
|
|
||||||
int Xorriso_auto_format(struct XorrisO *xorriso, int flag);
|
int Xorriso_auto_format(struct XorrisO *xorriso, int flag);
|
||||||
|
|
||||||
int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
|
int Xorriso_set_system_area(struct XorrisO *xorriso,
|
||||||
IsoImage *img, struct isoburn_imgen_opts *sopts,
|
struct burn_drive *in_drive,
|
||||||
|
struct burn_drive *out_drive,
|
||||||
|
IsoImage *img,
|
||||||
|
struct isoburn_imgen_opts *sopts,
|
||||||
int flag);
|
int flag);
|
||||||
|
|
||||||
int Xorriso_check_burn_abort(struct XorrisO *xorriso, int flag);
|
int Xorriso_check_burn_abort(struct XorrisO *xorriso, int flag);
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2022.10.29.084954"
|
#define Xorriso_timestamP "2022.11.05.133746"
|
||||||
|
Loading…
Reference in New Issue
Block a user