common: index: remove redundant separator for empty channel string
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 11 Dec 2019 18:18:00 +0000 (13:18 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 19 Dec 2019 22:33:31 +0000 (17:33 -0500)
Tweak _lttng_index_file_create_from_trace_chunk() to correctly deal with
empty channel_path string, removing redundant "/" separators.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I743917c27e334ad12e145959b3ad3f59f62f1a64
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/index/index.c

index b2e36211aa4f8a7f5ce9d2be2784d91e3954310f..540294a5eae9f44e38328688e8f693567f8763b3 100644 (file)
@@ -51,6 +51,7 @@ static struct lttng_index_file *_lttng_index_file_create_from_trace_chunk(
        char index_file_path[LTTNG_PATH_MAX];
        const mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP;
        const bool acquired_reference = lttng_trace_chunk_get(chunk);
+       const char *separator;
 
        assert(acquired_reference);
 
@@ -61,8 +62,13 @@ static struct lttng_index_file *_lttng_index_file_create_from_trace_chunk(
        }
 
        index_file->trace_chunk = chunk;
+       if (channel_path[0] == '\0') {
+               separator = "";
+       } else {
+               separator = "/";
+       }
        ret = snprintf(index_directory_path, sizeof(index_directory_path),
-                       "%s/" DEFAULT_INDEX_DIR, channel_path);
+                       "%s%s" DEFAULT_INDEX_DIR, channel_path, separator);
        if (ret < 0 || ret >= sizeof(index_directory_path)) {
                ERR("Failed to format index directory path");
                goto error;
This page took 0.026245 seconds and 4 git commands to generate.