From 29fd272657d1c13500e7cd5f670aadc8ed41c445 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Mon, 18 Feb 2008 12:29:08 +0000 Subject: [PATCH] getTemporaryDirectory: be more precise when catching exns from getEnv --- System/Directory.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/System/Directory.hs b/System/Directory.hs index 80a20ee..d705c0d 100644 --- a/System/Directory.hs +++ b/System/Directory.hs @@ -1027,7 +1027,10 @@ getTemporaryDirectory = do r <- c_GetTempPath (fromIntegral long_path_size) pPath peekCString pPath #else - catch (getEnv "TMPDIR") (\ex -> return "/tmp") + getEnv "TMPDIR" + `catch` \ex -> case ex of + IOException e | isDoesNotExistError e -> return "/tmp" + _ -> throw ex #endif #if defined(mingw32_HOST_OS) -- 1.7.10.4