On Tue, 24 May 2022, Soft Works wrote:
-----Original Message-----
From: Martin Storsjö <mar...@martin.st>
Sent: Tuesday, May 24, 2022 10:59 PM
To: softworkz <ffmpegag...@gmail.com>
Cc: ffmpeg-devel@ffmpeg.org; Soft Works <softwo...@hotmail.com>; Hendrik
Leppkes <h.lepp...@gmail.com>
Subject: Re: [PATCH v6 2/2] avformat/os_support: Support long file names
on Windows
+ wchar_t *filename_w;
+ int ret;
+ struct _stati64 winstat = { 0 };
+
+ if (get_extended_win32_path(filename_utf8, &filename_w))
+ return -1;
+
+ if (filename_w) {
+ ret = _wstat64(filename_w, &winstat);
+ av_free(filename_w);
+ } else
+ ret = _stat64(filename_utf8, &winstat);
+
+ par->st_dev = winstat.st_dev;
+ par->st_ino = winstat.st_ino;
+ par->st_mode = winstat.st_mode;
+ par->st_nlink = winstat.st_nlink;
+ par->st_uid = winstat.st_uid;
+ par->st_gid = winstat.st_gid;
+ par->st_rdev = winstat.st_rdev;
+ par->st_size = winstat.st_size;
+ par->st_atime = winstat.st_atime;
+ par->st_mtime = winstat.st_mtime;
+ par->st_ctime = winstat.st_ctime;
Thanks, this approach seems robust and safe to me!
With this change in place, shouldn't we drop the #ifdef for
stat/win32_stat in file.c at the same time?
Done. While doing that, I realized that fstat needs
to be remapped as well, otherwise _ftati64 would be
called with the win32_stat structure. Done that
as well.
Good - I also just realized the same while grepping around for "struct
stat".
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".