-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[mono] Add support for backslash escaped colon in MONO_PATH #90526
[mono] Add support for backslash escaped colon in MONO_PATH #90526
Conversation
Doesn't it strip the |
@@ -140,6 +140,18 @@ mono_set_assemblies_path (const char* path) | |||
assemblies_path = dest = split; | |||
while (*split) { | |||
char *tmp = *split; | |||
int len = strlen(tmp); | |||
// If the current string ends with a backslash, append the next string to it | |||
while (len > 0 && tmp[len - 1] == '\\') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows paths are expected to have backslashes, so this should probably only be executed when !Windows (or when G_SEARCHPATH_SEPARATOR_S == ':')
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's necessarily a problem but the escaping mechanism seems rather inconsistent. This detects only backslash at the end of path that was followed by :
. In Windows \:
is never valid. In Linux it could be but then you can write it as \\:
I guess.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, right, G_SEARCHPATH_SEPARATOR_S
is going to be ;
on Windows. That makes it a bit more messy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the idea is to escape \\:
on non-windows platforms which should allow correct path resolution. I parametrized the concat token and added #ifndef HOST_WIN32
macro. Do you see any other issues with the escaping mechanism?
#90544 seems a cleaner approach. |
Closing this PR in favor of #90544. |
Fixes #90422