bt_self_component *self_comp = ds_file->self_comp;
bt_logging_level log_level = ds_file->log_level;
- if (request_sz == 0) {
- goto end;
- }
+ BT_ASSERT(request_sz > 0);
/*
* Check if we have at least one memory-mapped byte left. If we don't,
}
}
+ BT_ASSERT(remaining_mmap_bytes(ds_file) > 0);
*buffer_sz = MIN(remaining_mmap_bytes(ds_file), request_sz);
+
BT_ASSERT(ds_file->mmap_addr);
*buffer_addr = ((uint8_t *) ds_file->mmap_addr) + ds_file->request_offset_in_mapping;
+
ds_file->request_offset_in_mapping += *buffer_sz;
goto end;
}
static
-enum ctf_msg_iter_medium_status medop_seek(enum ctf_msg_iter_seek_whence whence,
- off_t offset, void *data)
+enum ctf_msg_iter_medium_status medop_seek(off_t offset, void *data)
{
enum ctf_msg_iter_medium_status status;
struct ctf_fs_ds_file *ds_file = data;
bt_self_component *self_comp = ds_file->self_comp;
bt_logging_level log_level = ds_file->log_level;
- if (whence != CTF_MSG_ITER_SEEK_WHENCE_SET ||
- offset < 0 || offset > file_size) {
- BT_COMP_LOGE("Invalid medium seek request: whence=%d, offset=%jd, "
- "file-size=%jd", (int) whence, (intmax_t) offset,
- (intmax_t) file_size);
- status = CTF_MSG_ITER_MEDIUM_STATUS_INVAL;
- goto end;
- }
+ BT_ASSERT(offset >= 0);
+ BT_ASSERT(offset < file_size);
/* If there is no current mapping, map the right file directly. */
if (!ds_file->mmap_addr) {
goto map_requested_offset;
} else {
ds_file->request_offset_in_mapping = offset - ds_file->mmap_offset_in_file;
- goto test_end;
+ status = CTF_MSG_ITER_MEDIUM_STATUS_OK;
+ goto end;
}
map_requested_offset:
goto end;
}
-test_end:
- ds_file->end_reached = (offset == file_size);
-
status = CTF_MSG_ITER_MEDIUM_STATUS_OK;
end:
return status;