X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fpayload-view.c;h=2e6581bb49bb6452a2d247dab4a1b26fb7b3c314;hb=3afa94aeca5a0daae40fd7b6cc96b7e4c150c7d8;hp=4a4edea146385ae0e2198ebfbd5a41a32d7c1c04;hpb=18eec1c924daf8d63a5f2cc06b1c1fdd9a838c6e;p=lttng-tools.git diff --git a/src/common/payload-view.c b/src/common/payload-view.c index 4a4edea14..2e6581bb4 100644 --- a/src/common/payload-view.c +++ b/src/common/payload-view.c @@ -11,55 +11,55 @@ #include "payload.h" #include -LTTNG_HIDDEN +bool lttng_payload_view_is_valid(const struct lttng_payload_view *view) +{ + return view && lttng_buffer_view_is_valid(&view->buffer); +} + struct lttng_payload_view lttng_payload_view_from_payload( const struct lttng_payload *payload, size_t offset, ptrdiff_t len) { - return (struct lttng_payload_view) { + return payload ? (struct lttng_payload_view) { .buffer = lttng_buffer_view_from_dynamic_buffer( &payload->buffer, offset, len), ._fd_handles = payload->_fd_handles, - }; + } : (struct lttng_payload_view) {}; } -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_view( struct lttng_payload_view *view, size_t offset, ptrdiff_t len) { - return (struct lttng_payload_view) { + return view ? (struct lttng_payload_view) { .buffer = lttng_buffer_view_from_view( &view->buffer, offset, len), ._fd_handles = view->_fd_handles, ._iterator.p_fd_handles_position = view->_iterator.p_fd_handles_position ?: &view->_iterator.fd_handles_position, - }; + } : (struct lttng_payload_view) {}; } -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_dynamic_buffer( const struct lttng_dynamic_buffer *buffer, size_t offset, ptrdiff_t len) { - return (struct lttng_payload_view) { + return buffer ? (struct lttng_payload_view) { .buffer = lttng_buffer_view_from_dynamic_buffer( buffer, offset, len) - }; + } : (struct lttng_payload_view) {}; } -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_from_buffer_view( const struct lttng_buffer_view *view, size_t offset, ptrdiff_t len) { - return (struct lttng_payload_view) { + return view ? (struct lttng_payload_view) { .buffer = lttng_buffer_view_from_view( view, offset, len) - }; + } : (struct lttng_payload_view) {}; } -LTTNG_HIDDEN struct lttng_payload_view lttng_payload_view_init_from_buffer( const char *src, size_t offset, ptrdiff_t len) { @@ -69,7 +69,6 @@ struct lttng_payload_view lttng_payload_view_init_from_buffer( }; } -LTTNG_HIDDEN int lttng_payload_view_get_fd_handle_count( const struct lttng_payload_view *payload_view) { @@ -94,7 +93,6 @@ end: return ret; } -LTTNG_HIDDEN struct fd_handle *lttng_payload_view_pop_fd_handle( struct lttng_payload_view *view) {