[FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: Add whcartoutf8, wchartoansi and utf8toansi

nil-admirari at mailo.com nil-admirari at mailo.com
Wed May 11 11:57:18 EEST 2022


> I think that can be changed easily.

How about writing the necessary patches yourself?

> A path using forward slashes can still be prefixed with '\\?\'

It cannot. Only backslashes are valid in \\?\ paths.

> The prefixing can be implemented as a function and then be used 
> in file_open.c.
> Other file system related functions like mkdir, rename, rmdir, etc.
> are already intercepted in os_support.h, and the prefixing can be 
> applied there.

I haven't found path concat in these headers. What I did find, however,
is the use of snprintf with forward slash separators right inside the #ifdef _WIN32:

#if defined(_WIN32) || defined (__ANDROID__) || defined(__DJGPP__)
    if (fd < 0) {
        snprintf(*filename, len, "./%sXXXXXX", prefix);
        fd = mkstemp(*filename);
    }
#endif

> I have not fully analyzed the situation,
> but surely there are just a small number of places that need to 
> be changed and not 587.

587 was obtained with fgrep snprintf **/*.c | wc -l (became 588 after a recent pull).
At least two of these uses of snprintf correspond to path concatenation,
and have been already presented here. Not all of them do, but I have no interest
in examining the other 586 cases. But if you think that it's easy, well go ahead.





More information about the ffmpeg-devel mailing list