Fixes ctf-testsuite tests/1.8/regression/pass/2-packets-no-packet-size
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
enum bt_ctf_notif_iter_status status = BT_CTF_NOTIF_ITER_STATUS_OK;
struct bt_ctf_field *packet_size_field = NULL;
struct bt_ctf_field *content_size_field = NULL;
enum bt_ctf_notif_iter_status status = BT_CTF_NOTIF_ITER_STATUS_OK;
struct bt_ctf_field *packet_size_field = NULL;
struct bt_ctf_field *content_size_field = NULL;
- uint64_t content_size = -1, packet_size = -1;
+ uint64_t content_size = -1ULL, packet_size = -1ULL;
if (!notit->dscopes.stream_packet_context) {
goto end;
if (!notit->dscopes.stream_packet_context) {
goto end;
- notit->cur_packet_size = packet_size;
+ if (packet_size != -1ULL) {
+ notit->cur_packet_size = packet_size;
+ } else {
+ /*
+ * Use the content size as packet size indicator if the
+ * packet size field is missing. This means there is no
+ * padding in this stream.
+ */
+ notit->cur_packet_size = content_size;
+ }
notit->cur_content_size = content_size;
BT_LOGV("Set current packet and content sizes: "
"notit-addr=%p, packet-size=%" PRIu64 ", content-size=%" PRIu64,
notit->cur_content_size = content_size;
BT_LOGV("Set current packet and content sizes: "
"notit-addr=%p, packet-size=%" PRIu64 ", content-size=%" PRIu64,