Diff between 66a6db0cf0e79a3a99d559401f8c72c450c3445c and 3b1eab0e62fe8903886932d8e24f34a6d22bba1d

Changed Files

File Additions Deletions Status
src/shared/gatt-db.c +15 -0 modified
src/shared/gatt-db.h +2 -0 modified

Full Patch

diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c
index eac7948..9a9cadc 100644
--- a/src/shared/gatt-db.c
+++ b/src/shared/gatt-db.c
@@ -1544,3 +1544,18 @@ bool gatt_db_attribute_write_result(struct gatt_db_attribute *attrib,
 
 	return true;
 }
+
+bool gatt_db_attribute_reset(struct gatt_db_attribute *attrib)
+{
+	if (!attrib)
+		return false;
+
+	if (!attrib->value || !attrib->value_len)
+		return true;
+
+	free(attrib->value);
+	attrib->value = NULL;
+	attrib->value_len = 0;
+
+	return true;
+}
diff --git a/src/shared/gatt-db.h b/src/shared/gatt-db.h
index 2edd13f..1f4005e 100644
--- a/src/shared/gatt-db.h
+++ b/src/shared/gatt-db.h
@@ -207,3 +207,5 @@ bool gatt_db_attribute_write(struct gatt_db_attribute *attrib, uint16_t offset,
 
 bool gatt_db_attribute_write_result(struct gatt_db_attribute *attrib,
 						unsigned int id, int err);
+
+bool gatt_db_attribute_reset(struct gatt_db_attribute *attrib);