Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:GA
wodim
genisoimage-multi-extent-fix-bnc615177.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File genisoimage-multi-extent-fix-bnc615177.patch of Package wodim
--- genisoimage/write.c +++ genisoimage/write.c @@ -1013,6 +1013,40 @@ set_733((char *) s_entry->isorec.extent, start_extent); start_extent += ISO_BLOCKS(s_entry->size); +#ifdef USE_LARGEFILES + /* + * Update the entries for multi-section files + * as we now know the starting extent numbers. + */ + if (s_entry->de_flags & MULTI_EXTENT) { + struct directory_entry *s_e; + + /* + * The directory is sorted, so we should + * see s_entry->mxpart == 1 first. + */ + if (s_entry->mxpart != 1) { + comerrno(EX_BAD, + "Panic: Multi extent parts for %s not in order.\n", + s_entry->whole_name); + } + s_entry->mxroot->starting_block = s_entry->starting_block; + /* + * Set the mxroot (mxpart == 0) to allow + * the UDF code to fetch the starting + * extent number. + */ + set_733((char *) s_entry->mxroot->isorec.extent, s_entry->mxroot->starting_block); + for (s_e = s_entry->next; + s_e && s_e->mxroot == s_entry->mxroot; + s_e = s_e->next) { + if (s_e->mxpart == 0) + continue; + set_733((char *) s_e->isorec.extent, start_extent); + start_extent += ISO_BLOCKS(s_e->size); + } + } +#endif #ifdef DVD_VIDEO /* * Shouldn't this be done for every type of sort? Otherwise
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor