Made Xorriso_make_mount_cmd() ready for long block adresses

This commit is contained in:
Thomas Schmitt 2024-03-18 21:40:38 +01:00
parent 949a4c3bd0
commit b8b0f41320
4 changed files with 9 additions and 8 deletions

View File

@ -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";

View File

@ -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);

View File

@ -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;

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.03.18.201822"
#define Xorriso_timestamP "2024.03.18.204021"