_bt_convert_address_to_hex(&addr_hex, address);
bluetooth_otp_disconnect_otc(&addr_hex);
- return FALSE;
+ return TRUE;
}
static gboolean __client_data_received_cb(GIOChannel *chan, GIOCondition cond,
oacp_read_op->fp = fp;
oacp_read_op->size = object_info->curr_size;
oacp_read_op->file_path = g_strdup(file_path);
- } else {
- oacp_read_op->offset += (oacp_read_op->length - oacp_read_op->offset);
}
- fseek(oacp_read_op->fp, oacp_read_op->offset, SEEK_SET);
- written = fwrite(buffer, 1, len, oacp_read_op->fp);
- oacp_read_op->length += len;
- BT_DBG("written [%d], offset [%lu], length [%lu], size [%lu]",
- written, oacp_read_op->offset,
- oacp_read_op->length, oacp_read_op->size);
+ if (oacp_read_op->length <= oacp_read_op->size) {
+ written = fwrite(buffer, 1, len, oacp_read_op->fp);
+ oacp_read_op->length += written;
+ BT_DBG("written [%d], length_sofar [%lu], received_buff_len [%d], size [%lu]",
+ written, oacp_read_op->length, len, oacp_read_op->size);
+ }
+
if (timeout_id > 0) {
g_source_remove(timeout_id);
timeout_id = g_timeout_add(BT_OTC_CONNECTION_MAX_TIMEOUT,