The default behaviour of lttng_directory_handle_init will set
the current working directory if opt_output_path is null.
Instead we want to honour LTTNG_HOME/HOME.
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
#define _LGPL_SOURCE
#include <common/common.h>
#define _LGPL_SOURCE
#include <common/common.h>
+#include <common/utils.h>
#include <common/compat/uuid.h>
#include <urcu/rculist.h>
#include <common/compat/uuid.h>
#include <urcu/rculist.h>
-#include "lttng-relayd.h"
+#include "lttng-relayd.h"
#include "sessiond-trace-chunks.h"
#include "sessiond-trace-chunks.h"
/* Global session id used in the session creation. */
static uint64_t last_relay_session_id;
/* Global session id used in the session creation. */
static uint64_t last_relay_session_id;
struct lttng_trace_chunk *chunk = NULL;
enum lttng_trace_chunk_status status;
struct lttng_directory_handle output_directory;
struct lttng_trace_chunk *chunk = NULL;
enum lttng_trace_chunk_status status;
struct lttng_directory_handle output_directory;
+ char *base_path = opt_output_path;
+
+ if (base_path == NULL) {
+ /* No output path defined */
+ base_path = utils_get_home_dir();
+ if (base_path == NULL) {
+ ERR("Home path not found.\n \
+ Please specify an output path using -o, --output PATH");
+ ret = -1;
+ goto end;
+ }
+ }
- ret = lttng_directory_handle_init(&output_directory, opt_output_path);
+ ret = lttng_directory_handle_init(&output_directory, base_path);