2
0
Эх сурвалжийг харах

core: Use dynamic string in OpenURL()

OpenURL() is a function that most games probably will never need.
Wasting 512 bytes to store of a static char to store an the URL is not
wise.

I propose to have it dynamic building the string on the fly.
Michael Vetter 7 жил өмнө
parent
commit
4c83cee810
1 өөрчлөгдсөн 2 нэмэгдсэн , 7 устгасан
  1. 2 7
      src/core.c

+ 2 - 7
src/core.c

@@ -1822,10 +1822,7 @@ int StorageLoadValue(int position)
 // Open URL with default system browser (if available)
 void OpenURL(const char *url)
 {
-    // Max length is "explorer ".length + url.maxlength (which is 2083),
-    // but we are not wasting that much memory here... let's set it up to 512
-    static char cmd[512] = { 0 };
-
+    char *cmd = calloc(10 + strlen(url), sizeof(char));
 #if defined(_WIN32)
     strcpy(cmd, "explorer ");
 #elif defined(__linux__)
@@ -1833,11 +1830,9 @@ void OpenURL(const char *url)
 #elif defined(__APPLE__)
     strcpy(cmd, "open ");
 #endif
-
     strcat(cmd, url);
     system(cmd);
-
-    memset(cmd, 0, 512);
+    free(cmd);
 }
 
 //----------------------------------------------------------------------------------