X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsession-descriptor.c;h=6dea5ee7c09de528ed998113f64502f7748ea75e;hp=6f0a357e3e04a25eee7173e08a31c5114e4eefa4;hb=ca258a7d30510f01d0760f4f529fed2bb5821b9a;hpb=b178f53e90c376dd44b020535c32649edef8f80e diff --git a/src/common/session-descriptor.c b/src/common/session-descriptor.c index 6f0a357e3..6dea5ee7c 100644 --- a/src/common/session-descriptor.c +++ b/src/common/session-descriptor.c @@ -522,6 +522,10 @@ _lttng_session_descriptor_live_network_create( descriptor = _lttng_session_descriptor_live_create(name, live_timer_interval_us); + if (!descriptor) { + goto error; + } + descriptor->base.output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK; @@ -550,14 +554,8 @@ lttng_session_descriptor_live_create( struct lttng_session_descriptor_live *descriptor; descriptor = _lttng_session_descriptor_live_create(name, live_timer_us); - if (!descriptor) { - goto error; - } return descriptor ? &descriptor->base : NULL; -error: - lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL); - return NULL; } struct lttng_session_descriptor * @@ -1178,3 +1176,26 @@ int lttng_session_descriptor_assign( end: return ret; } + +LTTNG_HIDDEN +int lttng_session_descriptor_get_base_path(struct lttng_session_descriptor *dst, + const char **_base_path) +{ + switch (dst->output_type) { + case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK: + { + if (dst->output.network.control && + dst->output.network.control->subdir[0]) { + *_base_path = dst->output.network.control->subdir; + } else { + *_base_path = NULL; + } + break; + } + case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL: + case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE: + *_base_path = NULL; + break; + } + return 0; +}