Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: nil-admirari@mailo.com
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: Add whcartoutf8, wchartoansi and utf8toansi
Date: Tue, 10 May 2022 23:22:51 +0200 (CEST)
Message-ID: <ea-mime-627ad7ab-72eb-4f7d5170@www-7.mailo.com> (raw)
In-Reply-To: <DM8P223MB0365397A6528D041C7F0754ABAC49@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>

> Paths are strings.

In other languages, paths are represented with classes, e.g. std::filesystem::path in C++
or pathlib.Path in Python. In C classes have to be emulated with structs and functions.
Even plain strings would've been OK to represent paths, if there was a set of functions
everyone uses for path operations, but there is none. Which brings us to your second question.

> It needs to be found out why it was added to decide in which way it
> can be adjusted.

Backward to forward slash adjustment is there from the very beginning:
https://github.com/FFmpeg/FFmpeg/commit/1b30e4f5865260323da5232174fc68d6cc283f45.

Apparently it's needed for path concatenation, which is implemented with snprintf,
whose pattern uses / as a separator even on Windows:
https://github.com/FFmpeg/FFmpeg/blame/master/fftools/cmdutils.c#L843.

Now back to classes. If there was a Path class, you could've changed the constructor
and the path concat operation to normalise the path and prepend it with \\?\
when it exceeds MAX_PATH, which is what you want me to do. Two places only
(maybe some more), and the entire application becomes long-path aware.

But there is no Path class. Instead there are 587 occurrences of snprintf, each of which
potentially does path concat. snprintf is not alone, strcat and the likes can also be used
for path concat.

These hundreds of places have to be examined and potentially changed to prepend \\?\.
And a couple dozen of places will surely be missed in the process.

And all that is touted as being somehow better than changing a single manifest.



_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2022-05-10 21:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-24 12:08 nil-admirari
2022-04-24 22:04 ` Soft Works
2022-04-25  9:03   ` nil-admirari
2022-04-25  9:31     ` Soft Works
2022-04-25  9:51       ` nil-admirari
2022-04-25 11:12         ` Soft Works
2022-04-25 12:51           ` Hendrik Leppkes
2022-04-25 13:02             ` Martin Storsjö
2022-04-25 13:36               ` Soft Works
2022-04-29 19:08                 ` nil-admirari
2022-04-25 13:17             ` Soft Works
2022-04-29 18:59               ` nil-admirari
2022-04-29 18:52           ` nil-admirari
2022-04-30 12:34             ` Soft Works
2022-05-05 20:20               ` nil-admirari
2022-05-05 22:38                 ` Soft Works
2022-05-06 16:07                   ` nil-admirari
2022-05-07  2:57                     ` Soft Works
2022-05-07 17:33                       ` nil-admirari
2022-05-07 17:59                         ` Soft Works
2022-05-10 21:22                           ` nil-admirari [this message]
2022-05-10 22:59                             ` Soft Works
2022-05-10 23:32                               ` Soft Works
2022-05-11  7:46                                 ` Tobias Rapp
2022-05-11  7:57                                   ` Soft Works
2022-05-11  8:08                                     ` Hendrik Leppkes
2022-05-11  9:03                                     ` nil-admirari
2022-05-11 13:32                                     ` Tobias Rapp
2022-05-11 20:50                                       ` Soft Works
2022-05-11  8:57                               ` nil-admirari
2022-05-14  0:42                                 ` Soft Works
2022-05-15 19:53                                   ` nil-admirari
2022-05-15 20:34                                     ` Soft Works
2022-05-16  8:49                                       ` nil-admirari
2022-05-08 19:48                       ` Martin Storsjö
2022-04-25 20:51     ` Stephen Hutchinson
2022-04-29 19:25       ` nil-admirari
  -- strict thread matches above, loose matches on Subject: below --
2022-04-23 20:56 Nil Admirari
2022-04-24  3:39 ` Soft Works
2022-05-07 17:57 ` Soft Works

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ea-mime-627ad7ab-72eb-4f7d5170@www-7.mailo.com \
    --to=nil-admirari@mailo.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git