r <- c_GetTempPath (fromIntegral long_path_size) pPath
peekCString pPath
#else
- catch (getEnv "TMPDIR") (\ex -> return "/tmp")
+ getEnv "TMPDIR"
+#if !__NHC__
+ `catch` \ex -> case ex of
+ IOException e | isDoesNotExistError e -> return "/tmp"
+ _ -> throw ex
+#else
+ `catch` (\ex -> return "/tmp")
+#endif
#endif
#if defined(mingw32_HOST_OS)