X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Factions%2Fpath.cpp;fp=src%2Fcommon%2Factions%2Fpath.cpp;h=41fb92e27bddfc2e599a72807e9de7feefaeb216;hp=4728485177a209a5c5aa7ddfc95033c04c3cd597;hb=1ad48d9678f8f123dc7d44dbbfadc9957b7e970e;hpb=aafac6e102f9a2a44318743e521a3270a580051d diff --git a/src/common/actions/path.cpp b/src/common/actions/path.cpp index 472848517..41fb92e27 100644 --- a/src/common/actions/path.cpp +++ b/src/common/actions/path.cpp @@ -98,32 +98,25 @@ end: } int lttng_action_path_copy(const struct lttng_action_path *src, - struct lttng_action_path *dst) + struct lttng_action_path **dst) { int ret; - size_t i, src_count; + struct lttng_action_path *new_path; LTTNG_ASSERT(src); LTTNG_ASSERT(dst); - lttng_dynamic_array_init(&dst->indexes, sizeof(uint64_t), NULL); - src_count = lttng_dynamic_array_get_count(&src->indexes); - - for (i = 0; i < src_count; i++) { - const void *index = lttng_dynamic_array_get_element( - &src->indexes, i); - - ret = lttng_dynamic_array_add_element(&dst->indexes, index); - if (ret) { - goto error; - } + new_path = lttng_action_path_create( + (uint64_t *) lttng_dynamic_array_get_element( + &src->indexes, 0), + lttng_dynamic_array_get_count(&src->indexes)); + if (!new_path) { + ret = -1; + } else { + ret = 0; + *dst = new_path; } - ret = 0; - goto end; -error: - lttng_dynamic_array_reset(&dst->indexes); -end: return ret; }