From ab5f7f9d5afd3c4dd68fdef9808c997b0f4f7402 Mon Sep 17 00:00:00 2001 From: sof Date: Tue, 17 Jul 2001 18:47:52 +0000 Subject: [PATCH] [project @ 2001-07-17 18:47:52 by sof] wibble --- ghc/compiler/main/SysTools.lhs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ghc/compiler/main/SysTools.lhs b/ghc/compiler/main/SysTools.lhs index 5489b38..2ac9d27 100644 --- a/ghc/compiler/main/SysTools.lhs +++ b/ghc/compiler/main/SysTools.lhs @@ -688,13 +688,14 @@ slash s1 s2 = s1 ++ ('/' : s2) #if defined(mingw32_TARGET_OS) getExecDir :: IO (Maybe String) -getExecDir = do let len = 2048 +getExecDir = do let len = 2048 -- plenty, PATH_MAX is 512 under Win32. buf <- mallocArray (fromIntegral len) ret <- getModuleFileName nullAddr buf len if ret == 0 then return Nothing else do s <- peekCString buf destructArray (fromIntegral len) buf - return (Just (reverse (tail (dropWhile (not . isSlash) (reverse (unDosifyPath s)))))) + return (Just (reverse (drop (length "/bin/ghc.exe") (reverse (unDosifyPath n))))) + foreign import stdcall "GetModuleFileNameA" getModuleFileName :: Addr -> CString -> Int32 -> IO Int32 #else -- 1.7.10.4