diff --git a/source/Network/Xmpp/Concurrent/Threads.hs b/source/Network/Xmpp/Concurrent/Threads.hs index 11db1c6..6ab5934 100644 --- a/source/Network/Xmpp/Concurrent/Threads.hs +++ b/source/Network/Xmpp/Concurrent/Threads.hs @@ -24,7 +24,7 @@ readWorker :: (Stanza -> IO ()) -> (XmppFailure -> IO ()) -> TMVar Stream -> IO a -readWorker onStanza onConnectionClosed stateRef = forever . Ex.mask_ $ do +readWorker onStanza onCClosed stateRef = forever . Ex.mask_ $ do s' <- Ex.catches ( do -- we don't know whether pull will @@ -54,8 +54,8 @@ readWorker onStanza onConnectionClosed stateRef = forever . Ex.mask_ $ do , Ex.Handler $ \(e :: XmppFailure) -> do errorM "Pontarius.Xmpp" $ "Read error: " ++ show e - closeStreams s - onConnectionClosed e + _ <- closeStreams s + onCClosed e return Nothing ] case res of @@ -63,8 +63,8 @@ readWorker onStanza onConnectionClosed stateRef = forever . Ex.mask_ $ do -- do. TODO: Can this happen? Just (Left e) -> do errorM "Pontarius.Xmpp" $ "Stanza error:" ++ show e - closeStreams s - onConnectionClosed e + _ <- closeStreams s + onCClosed e Just (Right sta) -> void $ onStanza sta where -- Defining an Control.Exception.allowInterrupt equivalent for GHC 7 diff --git a/source/Network/Xmpp/Sasl/Types.hs b/source/Network/Xmpp/Sasl/Types.hs index aaa2324..a8d6b4d 100644 --- a/source/Network/Xmpp/Sasl/Types.hs +++ b/source/Network/Xmpp/Sasl/Types.hs @@ -1,7 +1,6 @@ {-# OPTIONS_HADDOCK hide #-} module Network.Xmpp.Sasl.Types where -import Control.Monad.Error import Control.Monad.State.Strict import Data.ByteString(ByteString) import qualified Data.Text as Text diff --git a/source/Network/Xmpp/Types.hs b/source/Network/Xmpp/Types.hs index 93a22a4..e87212e 100644 --- a/source/Network/Xmpp/Types.hs +++ b/source/Network/Xmpp/Types.hs @@ -69,7 +69,7 @@ import qualified Data.Attoparsec.Text as AP import qualified Data.ByteString as BS import Data.Conduit import Data.Default -import Data.Maybe (fromJust, maybeToList) +import Data.Maybe (maybeToList) import qualified Data.Set as Set import Data.String (IsString(..)) import Data.Text (Text) @@ -946,7 +946,7 @@ instance Read Jid where [] -> error "Expected `parseJid \"\"'" [("parseJid", r')] -> case lex r' of [] -> error "Expected `parseJid \"\"'" - [(s', r)] -> (s', r) + [(s'', r'')] -> (s'', r'') _ -> error "Expected `parseJid \"\"'" _ -> error "Expected `parseJid \"\"'" -- Read the JID string (removes the quotes), validate, and return.