Made off_t sized burn_toc_entry fields valid in fabricated entries

This commit is contained in:
Thomas Schmitt 2024-03-10 08:55:44 +01:00
parent 8d33881cd6
commit 9003e477e7
2 changed files with 28 additions and 6 deletions

View File

@ -1900,7 +1900,7 @@ int isoburn_toc_entry_finish(struct burn_toc_entry *entry,
{
int pmin, psec, pframe;
entry->extensions_valid= 1;
entry->extensions_valid= 1 | 8;
entry->adr= 1;
entry->control= 4;
entry->session= session_no & 255;
@ -1908,7 +1908,13 @@ int isoburn_toc_entry_finish(struct burn_toc_entry *entry,
entry->point= track_no & 255;
entry->point_msb= (track_no >> 8) & 255;
burn_lba_to_msf(entry->start_lba, &pmin, &psec, &pframe);
if(entry->start_lba < 0) {
pmin= 255;
psec= 59;
pframe=74;
} else {
burn_lba_to_msf(entry->start_lba, &pmin, &psec, &pframe);
}
if(pmin<=255)
entry->pmin= pmin;
else
@ -1933,7 +1939,13 @@ void isoburn_toc_session_get_leadout_entry(struct isoburn_toc_session *s,
if(s->track_count<=0 || s->track_pointers==NULL || s->toc_entry==NULL)
return;
t= s->track_pointers[s->track_count-1];
entry->start_lba= t->toc_entry->start_lba + t->toc_entry->track_blocks;
entry->long_start_lba= t->toc_entry->start_lba + t->toc_entry->track_blocks;
if(entry->long_start_lba > 0x7fffffff) {
entry->start_lba= -1;
} else {
entry->start_lba= entry->long_start_lba;
}
entry->long_track_blocks= 0;
entry->track_blocks= 0;
isoburn_toc_entry_finish(entry, s->toc_entry->session, t->toc_entry->track_no,
0);
@ -1959,8 +1971,18 @@ void isoburn_toc_track_get_entry(struct isoburn_toc_track *t,
}
if(t->toc_entry==NULL)
return;
entry->start_lba= t->toc_entry->start_lba;
entry->track_blocks= t->toc_entry->track_blocks;
entry->long_start_lba= t->toc_entry->start_lba;
if(entry->long_start_lba > 0x7fffffff) {
entry->start_lba= -1;
} else {
entry->start_lba= entry->long_start_lba;
}
entry->long_track_blocks= t->toc_entry->track_blocks;
if(entry->long_track_blocks > 0x7fffffff) {
entry->track_blocks= -1;
} else {
entry->track_blocks= entry->long_track_blocks;
}
isoburn_toc_entry_finish(entry, t->toc_entry->session, t->toc_entry->track_no,
0);
}

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.03.10.072545"
#define Xorriso_timestamP "2024.03.10.075517"