From 53966e073256866f705c7e748ab46d0b53a935bf Mon Sep 17 00:00:00 2001
From: Evan Laforge <qdunkan@gmail.com>
Date: Sun, 11 Mar 2012 18:23:43 -0700
Subject: [PATCH 1/2] Whitespace only: convert mixed tabs and spaces to
spaces.
---
System/Environment.hs | 42 +++++++++++++++++++++---------------------
1 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/System/Environment.hs b/System/Environment.hs
index d5bc1ad..72d7eba 100644
|
a
|
b
|
|
| 70 | 70 | |
| 71 | 71 | getWin32ProgArgv_certainly :: IO [String] |
| 72 | 72 | getWin32ProgArgv_certainly = do |
| 73 | | mb_argv <- getWin32ProgArgv |
| 74 | | case mb_argv of |
| 75 | | Nothing -> fmap dropRTSArgs getFullArgs |
| 76 | | Just argv -> return argv |
| | 73 | mb_argv <- getWin32ProgArgv |
| | 74 | case mb_argv of |
| | 75 | Nothing -> fmap dropRTSArgs getFullArgs |
| | 76 | Just argv -> return argv |
| 77 | 77 | |
| 78 | 78 | withWin32ProgArgv :: [String] -> IO a -> IO a |
| 79 | 79 | withWin32ProgArgv argv act = bracket begin setWin32ProgArgv (\_ -> act) |
| 80 | 80 | where |
| 81 | 81 | begin = do |
| 82 | | mb_old_argv <- getWin32ProgArgv |
| 83 | | setWin32ProgArgv (Just argv) |
| 84 | | return mb_old_argv |
| | 82 | mb_old_argv <- getWin32ProgArgv |
| | 83 | setWin32ProgArgv (Just argv) |
| | 84 | return mb_old_argv |
| 85 | 85 | |
| 86 | 86 | getWin32ProgArgv :: IO (Maybe [String]) |
| 87 | 87 | getWin32ProgArgv = alloca $ \p_argc -> alloca $ \p_argv -> do |
| 88 | | c_getWin32ProgArgv p_argc p_argv |
| 89 | | argc <- peek p_argc |
| 90 | | argv_p <- peek p_argv |
| 91 | | if argv_p == nullPtr |
| 92 | | then return Nothing |
| 93 | | else do |
| 94 | | argv_ps <- peekArray (fromIntegral argc) argv_p |
| 95 | | fmap Just $ mapM peekCWString argv_ps |
| | 88 | c_getWin32ProgArgv p_argc p_argv |
| | 89 | argc <- peek p_argc |
| | 90 | argv_p <- peek p_argv |
| | 91 | if argv_p == nullPtr |
| | 92 | then return Nothing |
| | 93 | else do |
| | 94 | argv_ps <- peekArray (fromIntegral argc) argv_p |
| | 95 | fmap Just $ mapM peekCWString argv_ps |
| 96 | 96 | |
| 97 | 97 | setWin32ProgArgv :: Maybe [String] -> IO () |
| 98 | 98 | setWin32ProgArgv Nothing = c_setWin32ProgArgv 0 nullPtr |
| 99 | 99 | setWin32ProgArgv (Just argv) = withMany withCWString argv $ \argv_ps -> withArrayLen argv_ps $ \argc argv_p -> do |
| 100 | | c_setWin32ProgArgv (fromIntegral argc) argv_p |
| | 100 | c_setWin32ProgArgv (fromIntegral argc) argv_p |
| 101 | 101 | |
| 102 | 102 | foreign import ccall unsafe "getWin32ProgArgv" |
| 103 | 103 | c_getWin32ProgArgv :: Ptr CInt -> Ptr (Ptr CWString) -> IO () |
| … |
… |
|
| 196 | 196 | res <- c_GetEnvironmentVariable s p_value size |
| 197 | 197 | case res of |
| 198 | 198 | 0 -> do |
| 199 | | err <- c_GetLastError |
| 200 | | if err == eRROR_ENVVAR_NOT_FOUND |
| 201 | | then ioe_missingEnvVar name |
| 202 | | else throwGetLastError "getEnv" |
| | 199 | err <- c_GetLastError |
| | 200 | if err == eRROR_ENVVAR_NOT_FOUND |
| | 201 | then ioe_missingEnvVar name |
| | 202 | else throwGetLastError "getEnv" |
| 203 | 203 | _ | res > size -> try_size s res -- Rare: size increased between calls to GetEnvironmentVariable |
| 204 | 204 | | otherwise -> peekCWString p_value |
| 205 | 205 | |
| … |
… |
|
| 225 | 225 | |
| 226 | 226 | ioe_missingEnvVar :: String -> IO a |
| 227 | 227 | ioe_missingEnvVar name = ioException (IOError Nothing NoSuchThing "getEnv" |
| 228 | | "no environment variable" Nothing (Just name)) |
| | 228 | "no environment variable" Nothing (Just name)) |
| 229 | 229 | |
| 230 | 230 | {-| |
| 231 | 231 | 'withArgs' @args act@ - while executing action @act@, have 'getArgs' |