From b67dc40516077760b3d69e92635ca92c5e22ffe5 Mon Sep 17 00:00:00 2001 From: Specode <0x0000e000@gmail.com> Date: Mon, 4 Nov 2013 15:13:55 +0800 Subject: [PATCH] fix some error handling --- xmpp.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xmpp.go b/xmpp.go index 52c1e66..ab5eade 100644 --- a/xmpp.go +++ b/xmpp.go @@ -314,6 +314,9 @@ func (c *Client) init(o *Options) error { // Next message should be either success or failure. name, val, err := next(c.p) + if err != nil { + return err + } switch v := val.(type) { case *saslSuccess: case *saslFailure: @@ -535,8 +538,8 @@ type clientError struct { func nextStart(p *xml.Decoder) (xml.StartElement, error) { for { t, err := p.Token() - if err != nil { - log.Fatal("token", err) + if err != nil && err != io.EOF { + return nil, err } switch t := t.(type) { case xml.StartElement: