Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Portable does not work with really weird characters in the path #926

Open
barbeque-squared opened this issue Dec 6, 2024 · 0 comments
Open

Comments

@barbeque-squared
Copy link
Member

I'm making this a separate issue, while trying to reproduce #918 (which I couldn't) I ran into a not-sure-if-related issue with the portable:
2024-12-06-usdx-00A0-FFFD

How to reproduce:

  1. download and extract the portable anywhere
  2. edit the folder name to have the Unicode Replacement Character (U+FFFD) anywhere
  3. start ultrastardx.exe

The error message having a question mark makes it looks suspiciously similar to #837 (and its fix, #904) and because it's logging the full path, and because I can't reproduce it on Linux, chances are it's because it's doing .ToNative somewhere ?

That, and/or one of the AnsiStr or whatever is getting involved somewhere. I took a quick look at UPlatform*.pas and UPath.pas and the "a lot of function have three (or sometimes more) versions" is definitely not a good sign, because 904/UFilesystem also has this.

It's also really great that instead of {$IFDEF MSWINDOWS} / {$ELSE} just once for some IPath "give me a string version" function, we have entire interfaces IFDEF/ELSE'd. I know it's a result of historic mess regarding string handling between platforms, but at the same time isn't helping in making any of this more readable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant