Refactor
authorJoachim Breitner <mail@joachim-breitner.de>
Sat, 5 Jul 2008 00:35:52 +0000 (00:35 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Sat, 5 Jul 2008 00:35:52 +0000 (00:35 +0000)
Partty.hs

index 0e7002c..3ee8df9 100644 (file)
--- a/Partty.hs
+++ b/Partty.hs
@@ -161,8 +161,7 @@ runner h dcb ncb = fix $ \loop ps d -> do
 
 getNextUserMessage :: Handle -> ParttyState -> IO (Either DayMessage NightMessage, ParttyState)
 getNextUserMessage h ps = do
-       line <- hGetLine h
-       let msg = parseIncomingMessage line
+       msg <- getNextMessage h
        let ps' = updateState msg ps
        case msg of
                InternalMessage ue -> getNextUserMessage h ps'
@@ -173,6 +172,12 @@ getNextUserMessage h ps = do
 
 -- Message parsing
 
+getNextMessage :: Handle -> IO (IncomingMessage)
+getNextMessage h = do
+       line <- hGetLine h
+       let msg = parseIncomingMessage line
+       return msg
+
 parseIncomingMessage :: String -> IncomingMessage
 parseIncomingMessage msg = case id of
        -- Errors, no proper handling for now