Reduce the stack consumption of BTU_TASK
@@ -1186,27 +1186,24 @@ void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
}
tBTA_GATT_STATUS status = BTA_GATT_OK;
- tGATT_VALUE attr;
- attr.conn_id = p_clcb->bta_conn_id;
- attr.handle = p_data->api_write.handle;
- attr.offset = p_data->api_write.offset;
- attr.len = p_data->api_write.len;
- attr.auth_req = p_data->api_write.auth_req;
+ tGATT_CL_COMPLETE cl_data = {0};
+
+ cl_data.att_value.conn_id = p_clcb->bta_conn_id;
+ cl_data.att_value.handle = p_data->api_write.handle;
+ cl_data.att_value.offset = p_data->api_write.offset;
+ cl_data.att_value.len = p_data->api_write.len;
+ cl_data.att_value.auth_req = p_data->api_write.auth_req;
if (p_data->api_write.p_value) {
- memcpy(attr.value, p_data->api_write.p_value, p_data->api_write.len);
+ memcpy(cl_data.att_value.value, p_data->api_write.p_value, p_data->api_write.len);
}
- status = GATTC_Write(p_clcb->bta_conn_id, p_data->api_write.write_type, &attr);
+ status = GATTC_Write(p_clcb->bta_conn_id, p_data->api_write.write_type, &cl_data.att_value);
/* write fail */
if (status != BTA_GATT_OK) {
-
- tGATT_CL_COMPLETE cl_data = {0};
cl_data.handle = p_data->api_write.handle;
- memcpy(&cl_data.att_value, &attr, sizeof(tGATT_VALUE));
-
bta_gattc_cmpl_sendmsg(p_clcb->bta_conn_id, GATTC_OPTYPE_WRITE, status, &cl_data);
}
}
