summaryrefslogtreecommitdiff
path: root/Propellor
diff options
context:
space:
mode:
Diffstat (limited to 'Propellor')
-rw-r--r--Propellor/CmdLine.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/Propellor/CmdLine.hs b/Propellor/CmdLine.hs
index e4a73d5b..69e68351 100644
--- a/Propellor/CmdLine.hs
+++ b/Propellor/CmdLine.hs
@@ -100,9 +100,13 @@ spin host = do
, "./propellor --boot " ++ host
]
getstatus :: Handle -> IO BootStrapStatus
- getstatus h = maybe (getstatus h) return
- . (readish <=< fromMarked statusMarker)
- =<< hGetLine h
+ getstatus h = do
+ l <- hGetLine h
+ case readish =<< fromMarked statusMarker l of
+ Nothing -> do
+ putStrLn l
+ getstatus h
+ Just status -> return status
data BootStrapStatus = HaveKeyRing | NeedKeyRing
deriving (Read, Show, Eq)