Made off_t sized burn_toc_entry fields valid in fabricated entries
This commit is contained in:
parent
8d33881cd6
commit
9003e477e7
@ -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;
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2024.03.10.072545"
|
||||
#define Xorriso_timestamP "2024.03.10.075517"
|
||||
|
Loading…
Reference in New Issue
Block a user