diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2008-03-18 00:55:31 +0000 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2008-03-18 00:55:31 +0000 |
commit | 9a0b055e96c2f68b46787a17cb3c314f6cefc95d (patch) | |
tree | 917f18d962ae7c4dee0aab36c11347bd294ab40d /src/input/libdvdnav/ifo_read.c | |
parent | cdec7f82959eb05d1c3e4632af9d1e54bcc4c3bb (diff) | |
parent | 431033df2571df5bdd1ec1253cf04921b6d01368 (diff) | |
download | xine-lib-9a0b055e96c2f68b46787a17cb3c314f6cefc95d.tar.gz xine-lib-9a0b055e96c2f68b46787a17cb3c314f6cefc95d.tar.bz2 |
Merge from 1.1.
Diffstat (limited to 'src/input/libdvdnav/ifo_read.c')
-rw-r--r-- | src/input/libdvdnav/ifo_read.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/input/libdvdnav/ifo_read.c b/src/input/libdvdnav/ifo_read.c index 8f47d2a54..bc1ba580b 100644 --- a/src/input/libdvdnav/ifo_read.c +++ b/src/input/libdvdnav/ifo_read.c @@ -93,6 +93,10 @@ static inline int DVDFileSeek_( dvd_file_t *dvd_file, uint32_t offset ) { return (DVDFileSeek(dvd_file, (int)offset) == (int)offset); } +static inline int32_t DVDFileSeekForce_( dvd_file_t *dvd_file, uint32_t offset, int force_size ) { + return (DVDFileSeekForce(dvd_file, (int)offset, force_size) == (int)offset); +} + ifo_handle_t *ifoOpen(dvd_reader_t *dvd, int title) { ifo_handle_t *ifofile; @@ -1507,7 +1511,7 @@ static int ifoRead_VOBU_ADMAP_internal(ifo_handle_t *ifofile, unsigned int i; int info_length; - if(!DVDFileSeek_(ifofile->file, sector * DVD_BLOCK_LEN)) + if(!DVDFileSeekForce_(ifofile->file, sector * DVD_BLOCK_LEN, sector)) return 0; if(!(DVDReadBytes(ifofile->file, vobu_admap, VOBU_ADMAP_SIZE))) |