Browse Source

fix IM Message and Presence pickler

Avoid errors when there are other elements as well
master
Philipp Balzarek 13 years ago
parent
commit
48d0f6dbbb
  1. 5
      source/Network/Xmpp/IM/Message.hs
  2. 5
      source/Network/Xmpp/IM/Presence.hs

5
source/Network/Xmpp/IM/Message.hs

@ -83,8 +83,9 @@ answerIM bd msg = case getIM msg of @@ -83,8 +83,9 @@ answerIM bd msg = case getIM msg of
--------------------------
xpIM :: PU [Element] InstantMessage
xpIM = xpWrap (\(t, s, b) -> InstantMessage t s b)
(\(InstantMessage t s b) -> (t, s, b)) $
xp3Tuple
(\(InstantMessage t s b) -> (t, s, b))
. xpClean
$ xp3Tuple
xpMessageThread
xpMessageSubject
xpMessageBody

5
source/Network/Xmpp/IM/Presence.hs

@ -54,9 +54,10 @@ withIMPresence imPres pres = pres{presencePayload = presencePayload pres @@ -54,9 +54,10 @@ withIMPresence imPres pres = pres{presencePayload = presencePayload pres
--
xpIMPresence :: PU [Element] IMPresence
xpIMPresence = xpUnliftElems $
xpIMPresence = xpUnliftElems .
xpWrap (\(s, st, p) -> IMP s st p)
(\(IMP s st p) -> (s, st, p)) $
(\(IMP s st p) -> (s, st, p)) .
xpClean $
xp3Tuple
(xpOption $ xpElemNodes "{jabber:client}show"
(xpContent xpPrim))

Loading…
Cancel
Save