# HG changeset patch # User erik # Date 1260157820 0 # Node ID 4f40782ab5fc4ffd90d829e8e52ebdeb8d7a85b6 # Parent 3307493f20c5ed22753f9a5077fbe8e917bf618a Expose the dvd_stat_t struct. The commits that brought in the DVDFileStat() function from libdvdread 0.9.7 incorrectly made the stat struct opaque. This can't be done because the API does not use any allocation or deallocation code. So callers of DVDFileStat cannot declare stat structs. Since we are attempting to maintain the API compatibility w/ those releases of libdvdread, the struct has been brought into the header. Thanks again to Rathann for bringing this issue to the dvdnav list. And thanks to the original bug reportera(O. Rolland) to fedora. diff -r 3307493f20c5 -r 4f40782ab5fc dvd_reader.c --- a/dvd_reader.c Wed Sep 02 01:44:16 2009 +0000 +++ b/dvd_reader.c Mon Dec 07 03:50:20 2009 +0000 @@ -111,12 +111,6 @@ ssize_t filesize; }; -struct dvd_stat_s { - off_t size; /**< Total size of file in bytes */ - int nr_parts; /**< Number of file parts */ - off_t parts_size[9]; /**< Size of each part in bytes */ -}; - int UDFReadBlocksRaw( dvd_reader_t *device, uint32_t lb_number, size_t block_count, unsigned char *data, int encrypted ); diff -r 3307493f20c5 -r 4f40782ab5fc dvdread/dvd_reader.h --- a/dvdread/dvd_reader.h Wed Sep 02 01:44:16 2009 +0000 +++ b/dvdread/dvd_reader.h Mon Dec 07 03:50:20 2009 +0000 @@ -70,9 +70,13 @@ typedef struct dvd_file_s dvd_file_t; /** - * Opaque type that is used to provide statistics on a handle. + * Public type that is used to provide statistics on a handle. */ -typedef struct dvd_stat_s dvd_stat_t; +typedef struct { + off_t size; /**< Total size of file in bytes */ + int nr_parts; /**< Number of file parts */ + off_t parts_size[9]; /**< Size of each part in bytes */ +} dvd_stat_t; /** * Opens a block device of a DVD-ROM file, or an image file, or a directory