rdmd.exe doesn't compile on windows

ollie ollie at home.net
Tue Jan 29 07:40:21 PST 2013


rdmd.exe stopped compiling on Windows a couple of days ago with the 
following error:

rdmd.d(93): Error: function rdmd.ShellExecuteA (void*, const(char)*, const
(char)*, const(char)*, const(char)*, int) is not callable using argument 
types (typeof(null),string,const(immutable(char)[]),typeof(null),typeof
(null),int)rdmd.d(93): Error: cannot implicitly convert expression (page) 
of type const(immutable(char)[]) to const(char)*

Could someone who is more fluent in the bug process apply this fix (Or one 
the would be more correct).

Thanks,
Ollie


diff --git a/rdmd.d b/rdmd.d
index fb5a3ce..d9f5f79 100644
--- a/rdmd.d
+++ b/rdmd.d
@@ -14,6 +14,7 @@ version (Posix)
 else version (Windows)
 {
     import std.c.windows.windows;
+    import std.utf;
     extern(Windows) HINSTANCE ShellExecuteA(HWND, LPCSTR, LPCSTR, LPCSTR, 
LPCSTR, INT);
     enum objExt = ".obj";
     enum binExt = ".exe";
@@ -90,7 +91,7 @@ int main(string[] args)
         version(Windows)
         {
             // invoke browser that is associated with the http protocol
-            ShellExecuteA(null, "open", page, null, null, SW_SHOWNORMAL);
+            ShellExecuteA(null, toUTFz!(LPCSTR)("open"), toUTFz!(LPCSTR)
(page), null, null, SW_SHOWNORMAL);
         }
         else
         {


More information about the Digitalmars-d mailing list