This is needed for obex_test to actually work.
---
 lib/obex_client.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/lib/obex_client.c b/lib/obex_client.c
index 5107d62..0199fbf 100644
--- a/lib/obex_client.c
+++ b/lib/obex_client.c
@@ -61,10 +61,10 @@ static int obex_client_recv(obex_t *self, buf_t *msg, int 
rsp)
                /* Response of a CMD_CONNECT needs some special treatment.*/
                DEBUG(2, "We expect a connect-rsp\n");
                if (obex_parse_connect_header(self, msg) < 0) {
-                       self->mode = MODE_SRV;
-                       self->state = STATE_IDLE;
                        obex_deliver_event(self, OBEX_EV_PARSEERR,
                                                self->object->opcode, 0, TRUE);
+                       self->mode = MODE_SRV;
+                       self->state = STATE_IDLE;
                        return -1;
                }
                self->object->headeroffset=4;
@@ -82,10 +82,10 @@ static int obex_client_recv(obex_t *self, buf_t *msg, int 
rsp)
        /* Receive any headers */
        ret = obex_object_receive(self, msg);
        if (ret < 0) {
-               self->mode = MODE_SRV;
-               self->state = STATE_IDLE;
                obex_deliver_event(self, OBEX_EV_PARSEERR,
                                                self->object->opcode, 0, TRUE);
+               self->mode = MODE_SRV;
+               self->state = STATE_IDLE;
                return -1;
        }
 
@@ -123,8 +123,6 @@ static int obex_client_recv(obex_t *self, buf_t *msg, int 
rsp)
        } else {
                /* Notify app that client-operation is done! */
                DEBUG(3, "Done! Rsp=%02x!\n", rsp);
-               self->mode = MODE_SRV;
-               self->state = STATE_IDLE;
                if (self->object->abort) {
                        if (rsp == OBEX_RSP_SUCCESS)
                                obex_deliver_event(self, OBEX_EV_ABORT,
@@ -139,6 +137,8 @@ static int obex_client_recv(obex_t *self, buf_t *msg, int 
rsp)
                        obex_deliver_event(self, OBEX_EV_REQDONE,
                                                        self->object->opcode,
                                                        rsp, TRUE);
+               self->mode = MODE_SRV;
+               self->state = STATE_IDLE;
        }
 
        return 0;
@@ -197,10 +197,10 @@ int obex_client_send(obex_t *self, buf_t *msg, int rsp)
                        if (self->object->opcode == OBEX_CMD_CONNECT)
                                ret = obex_object_receive(self, msg);
                        if (ret < 0) {
-                               self->mode = MODE_SRV;
-                               self->state = STATE_IDLE;
                                obex_deliver_event(self, OBEX_EV_PARSEERR,
                                                self->object->opcode, 0, TRUE);
+                               self->mode = MODE_SRV;
+                               self->state = STATE_IDLE;
                                return -1;
                        }
 
-- 
1.7.5.4


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Openobex-users mailing list
Openobex-users@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/openobex-users

Reply via email to