From ec05d3bbba14c9c022a9752819f7fd4aa9277e1c Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 4 Jul 2008 23:33:43 +0000 Subject: [PATCH 1/1] Improve error messages from pwd --- utils/pwd/pwd.hs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/utils/pwd/pwd.hs b/utils/pwd/pwd.hs index 264cc98..45a2d46 100644 --- a/utils/pwd/pwd.hs +++ b/utils/pwd/pwd.hs @@ -3,15 +3,21 @@ module Main where import System.Directory import System.Environment +import System.Exit +import System.IO main :: IO () -main = do args <- getArgs - let escape = case args of - ["quadruple-backslash"] -> escape_quadruple_backslash - ["forwardslash"] -> escape_forwardslash - _ -> error ("pwd: Bad args: " ++ show args) - d <- getCurrentDirectory - putStr $ concatMap escape d +main = do + args <- getArgs + escape <- case args of + ["quadruple-backslash"] -> return escape_quadruple_backslash + ["forwardslash"] -> return escape_forwardslash + _ -> do hPutStrLn stderr ("Bad args: " ++ show args) + hPutStrLn stderr + "Usage: pwd {forwardslash|quadruple-backslash}" + exitFailure + d <- getCurrentDirectory + putStr $ concatMap escape d -- In prog006 we have to escape \ twice, once to get through sed and -- again to get through parsing pkg.conf -- 1.7.10.4