Diff between 221fd83c2c9e9d773fcc9d01d04ba9a745fb8754 and 8ff63e27074622730b6c97c4c73d6c13b7fcf3c5

Changed Files

File Additions Deletions Status
attrib/gatt.c +4 -4 modified

Full Patch

diff --git a/attrib/gatt.c b/attrib/gatt.c
index aea59ec..6880e2d 100644
--- a/attrib/gatt.c
+++ b/attrib/gatt.c
@@ -253,7 +253,7 @@ static void char_discovered_cb(guint8 status, const guint8 *ipdu, guint16 iplen,
 {
 	struct discover_char *dc = user_data;
 	struct att_data_list *list;
-	unsigned int i, err;
+	unsigned int i, err = ATT_ECODE_ATTR_NOT_FOUND;
 	size_t buflen;
 	uint8_t *buf;
 	guint16 oplen;
@@ -261,7 +261,7 @@ static void char_discovered_cb(guint8 status, const guint8 *ipdu, guint16 iplen,
 	uint16_t last = 0;
 
 	if (status) {
-		err = status == ATT_ECODE_ATTR_NOT_FOUND ? 0 : status;
+		err = status;
 		goto done;
 	}
 
@@ -320,9 +320,9 @@ static void char_discovered_cb(guint8 status, const guint8 *ipdu, guint16 iplen,
 		return;
 	}
 
-	err = (dc->characteristics ? 0 : ATT_ECODE_ATTR_NOT_FOUND);
-
 done:
+	err = (dc->characteristics ? 0 : err);
+
 	dc->cb(dc->characteristics, err, dc->user_data);
 	discover_char_free(dc);
 }