summary refs log tree commit diff stats
path: root/lib/pure/browsers.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure/browsers.nim')
-rwxr-xr-xlib/pure/browsers.nim9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/pure/browsers.nim b/lib/pure/browsers.nim
index 374aaa3a6..a12f0f7f3 100755
--- a/lib/pure/browsers.nim
+++ b/lib/pure/browsers.nim
@@ -26,7 +26,14 @@ proc openDefaultBrowser*(url: string) =
   ## Otherwise the environment variable ``BROWSER`` is used to determine the
   ## default browser to use.
   when defined(windows):
-    discard ShellExecute(0'i32, "open", url, nil, nil, SW_SHOWNORMAL)
+    when useWinUnicode:
+      var o = allocWideCString("open")
+      var u = allocWideCString(url)
+      discard ShellExecuteW(0'i32, o, u, nil, nil, SW_SHOWNORMAL)
+      dealloc o
+      dealloc u
+    else:
+      discard ShellExecuteA(0'i32, "open", url, nil, nil, SW_SHOWNORMAL)
   elif defined(macosx):
     discard execShellCmd("open " & quoteIfContainsWhite(url))
   else: