relayd: use version macros from build rather than scanf
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 156fc83ee6d534599bbb6d44a1b747099eeb08c2..3bef52b43068e8f8b2ac5ce4a5fbe9289b7fb9ca 100644 (file)
@@ -105,12 +105,12 @@ static
 void usage(void)
 {
        fprintf(stderr, "Usage: %s OPTIONS\n\nOptions:\n", progname);
-       fprintf(stderr, "  -h, --help                         Display this usage.\n");
-       fprintf(stderr, "  -d, --daemonize                    Start as a daemon.\n");
-       fprintf(stderr, "  -C, --control-port                 Control port listening (URI)\n");
-       fprintf(stderr, "  -D, --data-port                    Data port listening (URI)\n");
-       fprintf(stderr, "  -o, --output                       Output path for traces (PATH)\n");
-       fprintf(stderr, "  -v, --verbose                      Verbose mode. Activate DBG() macro.\n");
+       fprintf(stderr, "  -h, --help                Display this usage.\n");
+       fprintf(stderr, "  -d, --daemonize           Start as a daemon.\n");
+       fprintf(stderr, "  -C, --control-port URL    Control port listening.\n");
+       fprintf(stderr, "  -D, --data-port URL       Data port listening.\n");
+       fprintf(stderr, "  -o, --output PATH         Output path for traces. Must use an absolute path.\n");
+       fprintf(stderr, "  -v, --verbose             Verbose mode. Activate DBG() macro.\n");
 }
 
 static
@@ -1187,12 +1187,8 @@ int relay_send_version(struct lttcomm_relayd_hdr *recv_hdr,
                goto end;
        }
 
-       ret = sscanf(VERSION, "%10u.%10u", &reply.major, &reply.minor);
-       if (ret < 2) {
-               ERR("Error in scanning version");
-               ret = -1;
-               goto end;
-       }
+       reply.major = RELAYD_VERSION_COMM_MAJOR;
+       reply.minor = RELAYD_VERSION_COMM_MINOR;
 
        /* Major versions must be the same */
        if (reply.major != be32toh(msg.major)) {
@@ -1636,6 +1632,8 @@ int relay_process_data(struct relay_command *cmd, struct lttng_ht *streams_ht)
                        goto end;
                }
                stream->fd = ret;
+               /* Reset current size because we just perform a stream rotation. */
+               stream->tracefile_size_current = 0;
        }
        stream->tracefile_size_current += data_size;
        do {
@@ -2069,6 +2067,11 @@ int main(int argc, char **argv)
 
        /* Try to create directory if -o, --output is specified. */
        if (opt_output_path) {
+               if (*opt_output_path != '/') {
+                       ERR("Please specify an absolute path for -o, --output PATH");
+                       goto exit;
+               }
+
                ret = utils_mkdir_recursive(opt_output_path, S_IRWXU | S_IRWXG);
                if (ret < 0) {
                        ERR("Unable to create %s", opt_output_path);
This page took 0.023875 seconds and 4 git commands to generate.