mirror of https://github.com/raysan5/raylib
core: OpenURL() fix xdg-open call
Calling just `xdg-open` is not right. One needs to pack the URL in `'`. If we don't do this then some special characters (like ampersand) will be executed. Maybe this is true for Windows and Apple case too, but I don't own any such system. So please merge this, and if it's true for more cases let's use `sprintf()` in the other cases too.
This commit is contained in:
parent
4c83cee810
commit
80dbe636cd
|
@ -1823,14 +1823,17 @@ int StorageLoadValue(int position)
|
|||
void OpenURL(const char *url)
|
||||
{
|
||||
char *cmd = calloc(10 + strlen(url), sizeof(char));
|
||||
|
||||
#if defined(_WIN32)
|
||||
strcpy(cmd, "explorer ");
|
||||
strcat(cmd, url);
|
||||
#elif defined(__linux__)
|
||||
strcpy(cmd, "xdg-open "); // Alternatives: firefox, x-www-browser
|
||||
sprintf(cmd, "xdg-open '%s'", url); // Alternatives: firefox, x-www-browser
|
||||
#elif defined(__APPLE__)
|
||||
strcpy(cmd, "open ");
|
||||
#endif
|
||||
strcat(cmd, url);
|
||||
#endif
|
||||
|
||||
system(cmd);
|
||||
free(cmd);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue