Revert "Simplify create_session of lttng create command"
authorDavid Goulet <dgoulet@efficios.com>
Thu, 2 Feb 2012 15:19:04 +0000 (10:19 -0500)
committerDavid Goulet <dgoulet@efficios.com>
Thu, 2 Feb 2012 15:19:04 +0000 (10:19 -0500)
This reverts commit 318e4c832cc9a4209dcea885ef2a66cfd16f99d2.

The create_session function was changed making the session name not
having the date and time append to it anymore. This completely broke the
default behavior of automatic session creation. Only one possible
session name was 'auto'.

Signed-off-by: David Goulet <dgoulet@efficios.com>
src/bin/lttng/commands/create.c

index f60fe619e223e0db9c5686f0a62a5c73362bd02d..8052826a245296b0d2d9c310165385a11c5f6ad9 100644 (file)
@@ -67,7 +67,7 @@ static void usage(FILE *ofp)
  */
 static int create_session()
 {
  */
 static int create_session()
 {
-       int ret;
+       int ret, have_name = 0;
        char datetime[16];
        char *session_name, *traces_path = NULL, *alloc_path = NULL;
        time_t rawtime;
        char datetime[16];
        char *session_name, *traces_path = NULL, *alloc_path = NULL;
        time_t rawtime;
@@ -80,32 +80,37 @@ static int create_session()
 
        /* Auto session name creation */
        if (opt_session_name == NULL) {
 
        /* Auto session name creation */
        if (opt_session_name == NULL) {
-               ret = asprintf(&session_name, "auto");
+               ret = asprintf(&session_name, "auto-%s", datetime);
                if (ret < 0) {
                        perror("asprintf session name");
                if (ret < 0) {
                        perror("asprintf session name");
-                       ret = CMD_ERROR;
                        goto error;
                }
                DBG("Auto session name set to %s", session_name);
        } else {
                session_name = opt_session_name;
                        goto error;
                }
                DBG("Auto session name set to %s", session_name);
        } else {
                session_name = opt_session_name;
+               have_name = 1;
        }
 
        /* Auto output path */
        if (opt_output_path == NULL) {
                alloc_path = strdup(config_get_default_path());
                if (alloc_path == NULL) {
        }
 
        /* Auto output path */
        if (opt_output_path == NULL) {
                alloc_path = strdup(config_get_default_path());
                if (alloc_path == NULL) {
-                       ERR("Home path not found.\n"
-                               "Please specify an output path using -o, --output PATH\n");
+                       ERR("Home path not found.\n \
+                                Please specify an output path using -o, --output PATH");
                        ret = CMD_FATAL;
                        goto error;
                }
 
                        ret = CMD_FATAL;
                        goto error;
                }
 
-               ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME "/%s-%s",
-                               alloc_path, session_name, datetime);
+               if (have_name) {
+                       ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME
+                                       "/%s-%s", alloc_path, session_name, datetime);
+               } else {
+                       ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME
+                                       "/%s", alloc_path, session_name);
+               }
+
                if (ret < 0) {
                        perror("asprintf trace dir name");
                if (ret < 0) {
                        perror("asprintf trace dir name");
-                       ret = CMD_ERROR;
                        goto error;
                }
        } else {
                        goto error;
                }
        } else {
This page took 0.031168 seconds and 5 git commands to generate.