summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
15fcc42)
Use an std::vector to manage the buffer used to store the received data.
Change-Id: I04f99440573c722d982378ef9d8bb47f35b343aa
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8413
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12349
Tested-by: jenkins <jenkins@lttng.org>
struct lttng_viewer_cmd cmd;
struct lttng_viewer_get_metadata rq;
struct lttng_viewer_metadata_packet rp;
struct lttng_viewer_cmd cmd;
struct lttng_viewer_get_metadata rq;
struct lttng_viewer_metadata_packet rp;
+ std::vector<char> data;
struct lttng_live_session *session = trace->session;
struct lttng_live_msg_iter *lttng_live_msg_iter = session->lttng_live_msg_iter;
struct lttng_live_metadata *metadata = trace->metadata;
struct lttng_live_session *session = trace->session;
struct lttng_live_msg_iter *lttng_live_msg_iter = session->lttng_live_msg_iter;
struct lttng_live_metadata *metadata = trace->metadata;
- data = g_new0(gchar, len);
- if (!data) {
- BT_CPPLOGE_ERRNO_APPEND_CAUSE_SPEC(viewer_connection->logger,
- "Failed to allocate data buffer", ".");
- status = LTTNG_LIVE_GET_ONE_METADATA_STATUS_ERROR;
- goto end;
- }
- viewer_status = lttng_live_recv(viewer_connection, data, len);
+ viewer_status = lttng_live_recv(viewer_connection, data.data(), len);
if (viewer_status != LTTNG_LIVE_VIEWER_STATUS_OK) {
viewer_handle_recv_status(viewer_status, "get metadata packet");
status = (enum lttng_live_get_one_metadata_status) viewer_status;
if (viewer_status != LTTNG_LIVE_VIEWER_STATUS_OK) {
viewer_handle_recv_status(viewer_status, "get metadata packet");
status = (enum lttng_live_get_one_metadata_status) viewer_status;
/*
* Write the metadata to the file handle.
*/
/*
* Write the metadata to the file handle.
*/
- buf.insert(buf.end(), data, data + len);
+ buf.insert(buf.end(), data.begin(), data.end());
empty_metadata_packet_retry:
status = LTTNG_LIVE_GET_ONE_METADATA_STATUS_OK;
end:
empty_metadata_packet_retry:
status = LTTNG_LIVE_GET_ONE_METADATA_STATUS_OK;
end: