On 6 June 2016 at 19:55, Hendrik Leppkes <h.lepp...@gmail.com> wrote:
> On Mon, Jun 6, 2016 at 11:34 AM, Matt Oliver <protogo...@gmail.com> wrote: > > On 6 June 2016 at 19:27, Hendrik Leppkes <h.lepp...@gmail.com> wrote: > > > >> On Mon, Jun 6, 2016 at 9:12 AM, Matt Oliver <protogo...@gmail.com> > wrote: > >> > Fixes #819 #5256 #5281 > >> > --- > >> > libavformat/file.c | 4 ++++ > >> > libavformat/os_support.h | 24 ++++++++++++++++++++++++ > >> > 2 files changed, 28 insertions(+) > >> > > >> > diff --git a/libavformat/file.c b/libavformat/file.c > >> > index 5765ce7..264542a 100644 > >> > --- a/libavformat/file.c > >> > +++ b/libavformat/file.c > >> > @@ -148,7 +148,11 @@ static int file_check(URLContext *h, int mask) > >> > ret |= AVIO_FLAG_WRITE; > >> > #else > >> > struct stat st; > >> > +# ifndef _WIN32 > >> > ret = stat(filename, &st); > >> > +# else > >> > + ret = win32_stat(filename, &st); > >> > +# endif > >> > >> Isn't the typical way to define stat to win32_stat in the os_support > >> header, instead of ifdefing here? > >> > > > > No as there is a stat struct type as well as the stat function so a > define > > cannot be used for the function as it will mess with the stat struct. > Hence > > why the only way to get around it was to manually call the appropriate > > win32 function. > > > > > > #define stat(a,b) win32_stat(a,b) ? > Wouldn't that avoid a clash with the struct? Unfortunately not as the struct is also a preprocessor define set to a different value and C doesnt allow an object type and function type to have the same name (so its one or the other but not both). _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel