From 9463963d855d6a19d423598f668b8627dd669a30 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 18 Nov 2014 13:32:33 -0400 Subject: [PATCH] reorg --- src/Propellor/Protocol.hs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Propellor/Protocol.hs b/src/Propellor/Protocol.hs index a164318..669f41b 100644 --- a/src/Propellor/Protocol.hs +++ b/src/Propellor/Protocol.hs @@ -24,18 +24,19 @@ privDataMarker = "PRIVDATA " toMarked :: Marker -> String -> String toMarked marker = intercalate "\n" . map (marker ++) . lines -sendMarked :: Handle -> Marker -> String -> IO () -sendMarked h marker s = do - -- Prefix string with newline because sometimes a - -- incomplete line is output. - hPutStrLn h ("\n" ++ toMarked marker s) - hFlush h - fromMarked :: Marker -> Marked -> Maybe String fromMarked marker s | marker `isPrefixOf` s = Just $ drop (length marker) s | otherwise = Nothing +sendMarked :: Handle -> Marker -> String -> IO () +sendMarked h marker s = do + -- Prefix string with newline because sometimes a + -- incomplete line has been output, and the marker needs to + -- come at the start of a line. + hPutStrLn h ("\n" ++ toMarked marker s) + hFlush h + getMarked :: Handle -> Marker -> IO (Maybe String) getMarked h marker = go =<< catchMaybeIO (hGetLine h) where