Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libdvdread for openSUSE:Factory checked in at 2021-05-12 19:31:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libdvdread (Old) and /work/SRC/openSUSE:Factory/.libdvdread.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdvdread" Wed May 12 19:31:40 2021 rev:36 rq:892009 version:6.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libdvdread/libdvdread.changes 2020-04-29 20:43:17.787785640 +0200 +++ /work/SRC/openSUSE:Factory/.libdvdread.new.2988/libdvdread.changes 2021-05-12 19:32:03.279080157 +0200 @@ -1,0 +2,7 @@ +Sun May 9 14:37:18 UTC 2021 - Dirk M??ller <[email protected]> + +- update to 6.1.2: + * Fix Win32 Unicode paths opening + * Fix warnings and build improvements + +------------------------------------------------------------------- Old: ---- libdvdread-6.1.1.tar.bz2 libdvdread-6.1.1.tar.bz2.asc New: ---- libdvdread-6.1.2.tar.bz2 libdvdread-6.1.2.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libdvdread.spec ++++++ --- /var/tmp/diff_new_pack.mk5Y0l/_old 2021-05-12 19:32:03.795078097 +0200 +++ /var/tmp/diff_new_pack.mk5Y0l/_new 2021-05-12 19:32:03.795078097 +0200 @@ -1,7 +1,7 @@ # # spec file for package libdvdread # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,14 @@ %define sover 8 Name: libdvdread -Version: 6.1.1 +Version: 6.1.2 Release: 0 Summary: Library for Reading DVD Video Images License: GPL-2.0-or-later Group: Productivity/Multimedia/Other URL: https://www.videolan.org/developers/libdvdnav.html -Source0: http://download.videolan.org/videolan/%{name}/%{version}/%{name}-%{version}.tar.bz2 -Source1: http://download.videolan.org/videolan/%{name}/%{version}/%{name}-%{version}.tar.bz2.asc +Source0: https://download.videolan.org/videolan/%{name}/%{version}/%{name}-%{version}.tar.bz2 +Source1: https://download.videolan.org/videolan/%{name}/%{version}/%{name}-%{version}.tar.bz2.asc Source2: %{name}.keyring Source3: baselibs.conf BuildRequires: autoconf ++++++ libdvdread-6.1.1.tar.bz2 -> libdvdread-6.1.2.tar.bz2 ++++++ ++++ 2005 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/ChangeLog new/libdvdread-6.1.2/ChangeLog --- old/libdvdread-6.1.1/ChangeLog 2020-04-04 16:12:48.000000000 +0200 +++ new/libdvdread-6.1.2/ChangeLog 2021-04-18 12:39:12.000000000 +0200 @@ -1,3 +1,95 @@ +commit 37e2354e016648f7c74ad48fcb5524919bb228de +Author: Jean-Baptiste Kempf <[email protected]> +Date: Sun Apr 18 11:49:57 2021 +0200 + + Update NEWS for 6.1.2 + +commit 81407d80db03c2d2b7442d7ff89c0f4393b6931f +Author: Jean-Baptiste Kempf <[email protected]> +Date: Sun Apr 18 12:27:46 2021 +0200 + + Fix mingw build from tarballs + + Actually a work-around, tbh, but it'll take more time to fix. + +commit 3d8b0cbce6be3e4b6906f294d631281f4c61c96d +Author: Petri Hintukainen <[email protected]> +Date: Mon Apr 12 19:24:56 2021 +0300 + + Move win32 helpers after all includes + +commit 714dc2682396a41921ebe90a528b0418322a51f9 +Author: Petri Hintukainen <[email protected]> +Date: Mon Apr 12 19:21:58 2021 +0300 + + win32: Fix opendir()/readdir() with non-ASCII paths + +commit 72cb63b88141c66968c13690e2cc85ccf938df9f +Author: Petri Hintukainen <[email protected]> +Date: Wed Apr 7 12:46:42 2021 +0300 + + win32: Fix opening of non-ASCII paths + +commit 2ffeb36d8a45c89101e1fbcd1a61f538ba6e44fa +Author: Petri Hintukainen <[email protected]> +Date: Wed Apr 7 18:47:58 2021 +0300 + + win32: Fix stat() with non-ASCII paths + +commit edadb4255063f27dbfe1559c840af2ba9e6befdc +Author: Petri Hintukainen <[email protected]> +Date: Sat Apr 10 18:22:38 2021 +0300 + + win32: add utf8 -> wchar_t conversion utility + +commit f56bef305b86755415200a137b7acc70889c87bf +Author: Petri Hintukainen <[email protected]> +Date: Wed Apr 7 18:51:15 2021 +0300 + + Drop unused include and define + +commit 939671fbd02c98244cb28df6d38a8f2b8a3e6d27 +Author: Petri Hintukainen <[email protected]> +Date: Wed Apr 7 18:49:48 2021 +0300 + + Silence unused variable warning (_WIN32) + +commit dc1caa064e9d11944516c66a44df25f2ddef476c +Author: Petri Hintukainen <[email protected]> +Date: Tue Apr 6 18:06:50 2021 +0300 + + dlfcn: make sure path is nul-terminated after strncpy() + +commit 9ba15098502fb5b8fbe73ee3ab2c8bbc11763523 +Author: Petri Hintukainen <[email protected]> +Date: Tue Apr 6 18:04:02 2021 +0300 + + Silence warnings + +commit 04d2b7f2080d2f04beed4c3c58938e6c95894ae1 +Author: Petri Hintukainen <[email protected]> +Date: Thu Apr 8 00:05:16 2021 +0300 + + CI: no need for vlc contribs + +commit 227e060ca55614714a2a3f5a25ee878dd4abdfe5 +Author: Konstantin Pavlov <[email protected]> +Date: Thu Jan 7 21:40:38 2021 +0300 + + CI: Update CI to use more modern builders and contribs + +commit b71137c43683191084bb07e3bcaa5a5880f7acaf +Author: Francois Cartegnie <[email protected]> +Date: Thu May 7 16:22:26 2020 +0200 + + autoconf: require C99 + +commit c2290bb4b1d31c5e6f7a65fcfcc031c3ce67fe85 +Author: Hugo Beauz??e-Luyssen <[email protected]> +Date: Thu Jul 9 14:46:49 2020 +0200 + + CI: Fix image tags + commit a3329a79e9d44c927b84f0ab646a93d4c237ecb3 Author: Hugo Beauz??e-Luyssen <[email protected]> Date: Fri Apr 3 14:32:35 2020 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/Makefile.am new/libdvdread-6.1.2/Makefile.am --- old/libdvdread-6.1.1/Makefile.am 2020-03-04 13:57:19.000000000 +0100 +++ new/libdvdread-6.1.2/Makefile.am 2021-04-18 12:28:33.000000000 +0200 @@ -31,7 +31,8 @@ src/md5.c \ src/md5.h \ src/nav_print.c \ - src/nav_read.c + src/nav_read.c \ + msvc/contrib/win32_cs.h libdvdread_la_LIBADD = $(CSS_LIBS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/NEWS new/libdvdread-6.1.2/NEWS --- old/libdvdread-6.1.1/NEWS 2020-04-04 16:12:30.000000000 +0200 +++ new/libdvdread-6.1.2/NEWS 2021-04-18 12:28:33.000000000 +0200 @@ -1,3 +1,7 @@ +libdvdread (6.1.2) + * Fix Win32 Unicode paths opening + * Fix warnings and build improvements + libdvdread (6.1.1) * Fix the soversion following ABI breakage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/configure.ac new/libdvdread-6.1.2/configure.ac --- old/libdvdread-6.1.1/configure.ac 2020-04-04 16:12:30.000000000 +0200 +++ new/libdvdread-6.1.2/configure.ac 2021-04-18 12:28:33.000000000 +0200 @@ -1,7 +1,7 @@ dnl library version number m4_define([dvdread_major], 6) m4_define([dvdread_minor], 1) -m4_define([dvdread_micro], 1) +m4_define([dvdread_micro], 2) m4_define([dvdread_version],[dvdread_major.dvdread_minor.dvdread_micro]) AC_INIT(libdvdread, dvdread_version) @@ -52,7 +52,7 @@ AC_SUBST([DVDREAD_LTVERSION], [$DVDREAD_LT_CURRENT:$DVDREAD_LT_REVISION:$DVDREAD_LT_AGE]) -AC_PROG_CC +AC_PROG_CC_C99 AC_CHECK_HEADERS_ONCE([sys/param.h limits.h dlfcn.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/msvc/contrib/win32_cs.h new/libdvdread-6.1.2/msvc/contrib/win32_cs.h --- old/libdvdread-6.1.1/msvc/contrib/win32_cs.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libdvdread-6.1.2/msvc/contrib/win32_cs.h 2021-04-14 20:08:15.000000000 +0200 @@ -0,0 +1,40 @@ +/* + * This file is part of libdvdread. + * + * libdvdread is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * libdvdread is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with libdvdread; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <stdlib.h> +#include <windows.h> + +static inline wchar_t *_utf8_to_wchar(const char *utf8) +{ + wchar_t *wstr; + int wlen; + + wlen = MultiByteToWideChar (CP_UTF8, 0, utf8, -1, NULL, 0); + if (wlen < 1) { + return NULL; + } + wstr = (wchar_t*)malloc(sizeof(wchar_t) * wlen); + if (!wstr ) { + return NULL; + } + if (!MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, wlen)) { + free(wstr); + return NULL; + } + return wstr; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/msvc/msvc/contrib/dlfcn.c new/libdvdread-6.1.2/msvc/msvc/contrib/dlfcn.c --- old/libdvdread-6.1.1/msvc/msvc/contrib/dlfcn.c 2014-01-02 16:37:37.000000000 +0100 +++ new/libdvdread-6.1.2/msvc/msvc/contrib/dlfcn.c 2021-04-10 18:06:54.000000000 +0200 @@ -17,6 +17,7 @@ UINT em; HINSTANCE dsoh; char path[MAX_PATH], *p; + (void)mode; /* Load the module... * per PR2555, the LoadLibraryEx function is very picky about slashes. * Debugging on NT 4 SP 6a reveals First Chance Exception within NTDLL. @@ -26,8 +27,9 @@ * Transpose '\' for '/' in the filename. */ (void)strncpy(path, module_name, MAX_PATH); + path[MAX_PATH - 1] = 0; p = path; - while (p = strchr(p, '/')) + while ((p = strchr(p, '/'))) *p = '\\'; /* First assume the dso/dll's required by -this- dso are sitting in the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/msvc/msvc/contrib/win32_cs.h new/libdvdread-6.1.2/msvc/msvc/contrib/win32_cs.h --- old/libdvdread-6.1.1/msvc/msvc/contrib/win32_cs.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libdvdread-6.1.2/msvc/msvc/contrib/win32_cs.h 2021-04-14 20:08:15.000000000 +0200 @@ -0,0 +1,40 @@ +/* + * This file is part of libdvdread. + * + * libdvdread is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * libdvdread is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with libdvdread; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <stdlib.h> +#include <windows.h> + +static inline wchar_t *_utf8_to_wchar(const char *utf8) +{ + wchar_t *wstr; + int wlen; + + wlen = MultiByteToWideChar (CP_UTF8, 0, utf8, -1, NULL, 0); + if (wlen < 1) { + return NULL; + } + wstr = (wchar_t*)malloc(sizeof(wchar_t) * wlen); + if (!wstr ) { + return NULL; + } + if (!MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, wlen)) { + free(wstr); + return NULL; + } + return wstr; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/src/dvd_input.c new/libdvdread-6.1.2/src/dvd_input.c --- old/libdvdread-6.1.1/src/dvd_input.c 2020-03-05 20:18:33.000000000 +0100 +++ new/libdvdread-6.1.2/src/dvd_input.c 2021-04-14 20:08:15.000000000 +0200 @@ -27,6 +27,11 @@ #include <string.h> /* strerror */ #include <errno.h> +#ifdef _WIN32 +#include <windows.h> +#include "../msvc/contrib/win32_cs.h" +#endif + #include "dvdread/dvd_reader.h" /* DVD_VIDEO_LB_LEN */ #include "dvdread_internal.h" #include "dvd_input.h" @@ -72,6 +77,22 @@ #define DVDCSS_SEEK_KEY (1 << 1) #endif +#ifdef _WIN32 +static int open_win32(const char *path, int flags) +{ + wchar_t *wpath; + int fd; + + wpath = _utf8_to_wchar(path); + if (!wpath) { + return -1; + } + fd = _wopen(wpath, flags); + free(wpath); + return fd; +} +#endif + /* The DVDinput handle, add stuff here for new input methods. */ struct dvd_input_s { /* libdvdcss handle */ @@ -193,10 +214,12 @@ } /* Open the device */ -#if !defined(_WIN32) && !defined(__OS2__) - dev->fd = open(target, O_RDONLY); -#else +#if defined(_WIN32) + dev->fd = open_win32(target, O_RDONLY | O_BINARY); +#elif defined(__OS2__) dev->fd = open(target, O_RDONLY | O_BINARY); +#else + dev->fd = open(target, O_RDONLY); #endif if(dev->fd < 0) { char buf[256]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/src/dvd_reader.c new/libdvdread-6.1.2/src/dvd_reader.c --- old/libdvdread-6.1.1/src/dvd_reader.c 2020-03-04 13:57:19.000000000 +0100 +++ new/libdvdread-6.1.2/src/dvd_reader.c 2021-04-14 20:08:15.000000000 +0200 @@ -34,25 +34,6 @@ #include <dirent.h> /* opendir, readdir */ #include <ctype.h> /* isalpha */ -/* misc win32 helpers */ -#ifdef _WIN32 -# ifndef HAVE_GETTIMEOFDAY - /* replacement gettimeofday implementation */ -# include <sys/timeb.h> -static inline int _private_gettimeofday( struct timeval *tv, void *tz ) -{ - struct timeb t; - ftime( &t ); - tv->tv_sec = t.time; - tv->tv_usec = t.millitm * 1000; - return 0; -} -# define gettimeofday(TV, TZ) _private_gettimeofday((TV), (TZ)) -# endif -# include <io.h> /* read() */ -# define lseek64 _lseeki64 -#endif - #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__APPLE__) # define SYS_BSD 1 #endif @@ -77,6 +58,130 @@ #include "md5.h" #include "dvdread/ifo_read.h" +#if defined(_WIN32) +# include <windows.h> +# include "msvc/contrib/win32_cs.h" +#endif + +/* misc win32 helpers */ + +#ifdef _WIN32 +# ifndef HAVE_GETTIMEOFDAY + /* replacement gettimeofday implementation */ +# include <sys/timeb.h> +static inline int _private_gettimeofday( struct timeval *tv, void *tz ) +{ + struct timeb t; + ftime( &t ); + tv->tv_sec = t.time; + tv->tv_usec = t.millitm * 1000; + return 0; +} +# define gettimeofday(TV, TZ) _private_gettimeofday((TV), (TZ)) +# endif +#endif /* _WIN32 */ + +/* Compat wrapper for stat() */ + +#if defined(_WIN32) +/* can't re-define stat (used in both function name and struct name) */ +typedef struct _stat64 dvdstat_t; +static inline int dvdstat(const char *path, dvdstat_t *st) +{ + wchar_t *wpath, *it; + int ret; + + wpath = _utf8_to_wchar(path); + if (!wpath) { + return -1; + } + + /* need to strip possible trailing \\ */ + for (it = wpath; *it; it++) + if ((*it == '\\' || *it == '/') && *(it+1) == 0) + *it = 0; + + ret = _wstat64(wpath, st); + free(wpath); + return ret; +} +#else +typedef struct stat dvdstat_t; +static inline int dvdstat(const char *file, dvdstat_t *st) { + return stat(file, st); +} +#endif + +#if defined(_WIN32) +/* UTF-8 aware version of opendir()/readdir() */ + +#include <io.h> + +typedef struct { + intptr_t handle; + struct _wfinddata_t went; + struct dirent ent; +} win32_dir_t; + +win32_dir_t *win32_opendir(const char *path) +{ + char *filespec; + wchar_t *wfilespec; + win32_dir_t *d; + + d = calloc(1, sizeof(*d)); + if (!d) + return NULL; + + filespec = malloc(strlen(path) + 3); + if (!filespec) { + goto fail; + } + sprintf(filespec, "%s\\*", path); + + wfilespec = _utf8_to_wchar(filespec); + free(filespec); + if (!wfilespec) { + goto fail; + } + + d->handle = _wfindfirst(wfilespec, &d->went); + free(wfilespec); + if (d->handle != -1) { + return d; + } + + fail: + free(d); + return NULL; +} + +static struct dirent *win32_readdir(win32_dir_t *dir) +{ + if (dir->went.name[0]) { + if (!WideCharToMultiByte(CP_UTF8, 0, dir->went.name, -1, dir->ent.d_name, sizeof(dir->ent.d_name), NULL, NULL)) + dir->ent.d_name[0] = 0; /* allow reading next */ + dir->went.name[0] = 0; + _wfindnext(dir->handle, &dir->went); + return &dir->ent; + } + + return NULL; +} + +static void win32_closedir(win32_dir_t *dir) +{ + _findclose(dir->handle); + free(dir); +} + +#define DIR win32_dir_t +#define opendir win32_opendir +#define readdir win32_readdir +#define closedir win32_closedir + +#endif /* _WIN32 */ + #define DEFAULT_UDF_CACHE_LEVEL 1 struct dvd_reader_device_s { @@ -335,8 +440,8 @@ const char *ppath, dvd_reader_stream_cb *stream_cb ) { - struct stat fileinfo; - int ret, have_css, retval, cdir = -1; + dvdstat_t fileinfo; + int ret, have_css, cdir = -1; char *dev_name = NULL; char *path = NULL, *new_path = NULL, *path_copy = NULL; dvd_reader_t *ctx = calloc(1, sizeof(*ctx)); @@ -385,7 +490,7 @@ } #endif - ret = stat( path, &fileinfo ); + ret = dvdstat( path, &fileinfo ); if( ret < 0 ) { @@ -450,6 +555,7 @@ /* Resolve any symlinks and get the absolute dir name. */ { if( ( cdir = open( ".", O_RDONLY ) ) >= 0 ) { + int retval; if( chdir( path_copy ) == -1 ) { goto DVDOpen_error; } @@ -782,7 +888,7 @@ { char full_path[ PATH_MAX + 1 ]; dvd_file_t *dvd_file; - struct stat fileinfo; + dvdstat_t fileinfo; dvd_input_t dev; /* Get the full path of the file. */ @@ -805,7 +911,7 @@ } dvd_file->ctx = ctx; - if( stat( full_path, &fileinfo ) < 0 ) { + if( dvdstat( full_path, &fileinfo ) < 0 ) { Log0(ctx, "Can't stat() %s.", filename ); free( dvd_file ); dvdinput_close( dev ); @@ -867,7 +973,7 @@ { char filename[ MAX_UDF_FILE_NAME_LEN ]; char full_path[ PATH_MAX + 1 ]; - struct stat fileinfo; + dvdstat_t fileinfo; dvd_file_t *dvd_file; dvd_file = calloc( 1, sizeof( dvd_file_t ) ); @@ -894,7 +1000,7 @@ return NULL; } - if( stat( full_path, &fileinfo ) < 0 ) { + if( dvdstat( full_path, &fileinfo ) < 0 ) { Log0(ctx, "Can't stat() %s.", filename ); dvdinput_close(dev); free( dvd_file ); @@ -915,7 +1021,7 @@ break; } - if( stat( full_path, &fileinfo ) < 0 ) { + if( dvdstat( full_path, &fileinfo ) < 0 ) { Log0(ctx, "Can't stat() %s.", filename ); break; } @@ -1059,7 +1165,7 @@ { char filename[ MAX_UDF_FILE_NAME_LEN ]; char full_path[ PATH_MAX + 1 ]; - struct stat fileinfo; + dvdstat_t fileinfo; off_t tot_size; off_t parts_size[ 9 ]; int nr_parts = 0; @@ -1073,7 +1179,7 @@ if( !findDVDFile( dvd, filename, full_path ) ) return -1; - if( stat( full_path, &fileinfo ) < 0 ) { + if( dvdstat( full_path, &fileinfo ) < 0 ) { Log1(dvd, "Can't stat() %s.", filename ); return -1; } @@ -1089,7 +1195,7 @@ if( !findDVDFile( dvd, filename, full_path ) ) break; - if( stat( full_path, &fileinfo ) < 0 ) { + if( dvdstat( full_path, &fileinfo ) < 0 ) { Log1(dvd, "Can't stat() %s.", filename ); break; } @@ -1114,7 +1220,7 @@ { dvd_reader_device_t *dvd = reader->rd; char filename[ MAX_UDF_FILE_NAME_LEN ]; - struct stat fileinfo; + dvdstat_t fileinfo; uint32_t size; /* Check arguments. */ @@ -1172,7 +1278,7 @@ char full_path[ PATH_MAX + 1 ]; if( findDVDFile( reader, filename, full_path ) ) { - if( stat( full_path, &fileinfo ) < 0 ) + if( dvdstat( full_path, &fileinfo ) < 0 ) Log1(reader, "Can't stat() %s.", filename ); else { statbuf->size = fileinfo.st_size; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libdvdread-6.1.1/src/dvdread/version.h new/libdvdread-6.1.2/src/dvdread/version.h --- old/libdvdread-6.1.1/src/dvdread/version.h 2020-04-04 16:12:43.000000000 +0200 +++ new/libdvdread-6.1.2/src/dvdread/version.h 2021-04-18 12:39:05.000000000 +0200 @@ -27,9 +27,9 @@ #define DVDREAD_VERSION_MAJOR 6 #define DVDREAD_VERSION_MINOR 1 -#define DVDREAD_VERSION_MICRO 1 +#define DVDREAD_VERSION_MICRO 2 -#define DVDREAD_VERSION_STRING "6.1.1" +#define DVDREAD_VERSION_STRING "6.1.2" #define DVDREAD_VERSION \ DVDREAD_VERSION_CODE(DVDREAD_VERSION_MAJOR, DVDREAD_VERSION_MINOR, DVDREAD_VERSION_MICRO)
