diff --git a/xorriso/disk_ops.c b/xorriso/disk_ops.c index f9fed8d1..3ef131f2 100644 --- a/xorriso/disk_ops.c +++ b/xorriso/disk_ops.c @@ -1843,11 +1843,11 @@ int Xorriso_afile_fopen(struct XorrisO *xorriso, bit3= do not care for device filetype */ int Xorriso_make_mount_cmd(struct XorrisO *xorriso, char *cmd, - int lba, int track, int session, char *volid, + off_t lba, int track, int session, char *volid, char *devadr, char result[SfileadrL], int flag) { int ret, reg_file= 0, is_safe= 0, sys_code= 0; - char *form= NULL, session_text[12], track_text[12], lba_text[12]; + char *form= NULL, session_text[12], track_text[12], lba_text[24]; char *vars[5][2], *sfe= NULL, *volid_sfe= NULL, *cpt, *sysname; char *cooked_dev= NULL, *eff_dev; struct stat stbuf; @@ -1951,7 +1951,7 @@ int Xorriso_make_mount_cmd(struct XorrisO *xorriso, char *cmd, } sprintf(session_text, "%d", session); sprintf(track_text, "%d", track); - sprintf(lba_text, "%d", lba); + sprintf(lba_text, "%.f", (double) lba); vars[0][0]= "sbsector"; vars[0][1]= lba_text; vars[1][0]= "track"; diff --git a/xorriso/disk_ops.h b/xorriso/disk_ops.h index b7244d8b..e3e967ba 100644 --- a/xorriso/disk_ops.h +++ b/xorriso/disk_ops.h @@ -118,7 +118,7 @@ int Xorriso_afile_fopen(struct XorrisO *xorriso, char *filename, char *mode, FILE **ret_fp, int flag); int Xorriso_make_mount_cmd(struct XorrisO *xorriso, char *cmd, - int lba, int track, int session, char *volid, + off_t lba, int track, int session, char *volid, char *devadr, char result[SfileadrL], int flag); int Xorriso_append_scdbackup_record(struct XorrisO *xorriso, int flag); diff --git a/xorriso/iso_img.c b/xorriso/iso_img.c index 303497e3..02470d77 100644 --- a/xorriso/iso_img.c +++ b/xorriso/iso_img.c @@ -1051,8 +1051,9 @@ int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag) int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode, char *adr_value, char *cmd, int flag) { - int ret, lba, track, session, params_flag= 0, is_safe= 0, is_extra_drive= 0; + int ret, track, session, params_flag= 0, is_safe= 0, is_extra_drive= 0; int give_up= 0, mount_chardev= 0, status, aquire_flag= 0; + off_t lba; char volid[33], *devadr, *mount_command= NULL, *adr_data= NULL, *adr_pt; char *dev_path, *libburn_adr= NULL; char *dpt, *sysname= ""; @@ -1159,8 +1160,8 @@ int Xorriso_mount(struct XorrisO *xorriso, char *dev, int adr_mode, adr_pt= adr_data; } } - ret= isoburn_get_mount_params(drive, adr_mode, adr_pt, &lba, &track, - &session, volid, params_flag); + ret= isoburn_get_mount_params_v2(drive, adr_mode, adr_pt, &lba, &track, + &session, volid, params_flag); Xorriso_process_msg_queues(xorriso,0); if(ret <= 0) goto ex; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 55c643b5..725617ca 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2024.03.18.201822" +#define Xorriso_timestamP "2024.03.18.204021"