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

Merge pull request #685 from jubalh/master

Improve OpenURL()
Ray 7 жил өмнө
parent
commit
657897b493
1 өөрчлөгдсөн 5 нэмэгдсэн , 7 устгасан
  1. 5 7
      src/core.c

+ 5 - 7
src/core.c

@@ -1822,22 +1822,20 @@ 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 ");
+    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 ");
+    strcat(cmd, url);
 #endif
 
-    strcat(cmd, url);
     system(cmd);
-
-    memset(cmd, 0, 512);
+    free(cmd);
 }
 
 //----------------------------------------------------------------------------------