diff --git a/attrib/gatt.c b/attrib/gatt.c
index aea59ec..6880e2d 100644
--- a/attrib/gatt.c
+++ b/attrib/gatt.c
{
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;
uint16_t last = 0;
if (status) {
- err = status == ATT_ECODE_ATTR_NOT_FOUND ? 0 : status;
+ err = status;
goto done;
}
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);
}