diff options
author | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2006-08-29 17:16:12 +0000 |
---|---|---|
committer | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2006-08-29 17:16:12 +0000 |
commit | a68204dbb9f7cfee00d44315282124628ef4cded (patch) | |
tree | 8feb20792cba87865fc59b415674f817a1b3edea /hcid/dbus-sdp.c | |
parent | 250ed56dd4ec7aa5175b53304edc7db4524a5e72 (diff) |
changed sdp error handling
Diffstat (limited to 'hcid/dbus-sdp.c')
-rw-r--r-- | hcid/dbus-sdp.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/hcid/dbus-sdp.c b/hcid/dbus-sdp.c index 15ef33c0..3bfe5a4d 100644 --- a/hcid/dbus-sdp.c +++ b/hcid/dbus-sdp.c @@ -504,13 +504,13 @@ static void search_completed_cb(uint8_t type, uint16_t err, uint8_t *rsp, size_t if (!ctxt) return; - if (err) { - error("SDP error: %s(%d)", strerror(err), err); - error_failed(ctxt->conn, ctxt->rq, err); + if (type == SDP_ERROR_RSP) { + error_sdp_failed(ctxt->conn, ctxt->rq, err); return; } - if (type != SDP_SVC_SEARCH_ATTR_RSP || !rsp) { + /* check response PDU ID */ + if (type != SDP_SVC_SEARCH_ATTR_RSP) { error("SDP error: %s(%d)", strerror(EPROTO), EPROTO); error_failed(ctxt->conn, ctxt->rq, EPROTO); return; @@ -525,6 +525,10 @@ static void search_completed_cb(uint8_t type, uint16_t err, uint8_t *rsp, size_t dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING_AS_STRING, &array_iter); + /* + * FIXME: check rsp? How check for I/O error or wrong transaction id? + * check the type value(Zero) is not reasonable! + */ pdata = rsp; scanned = sdp_extract_seqtype(pdata, &dataType, &seqlen); |