Use utils_parse_time_suffix in create and enable-channel command
authorSimon Marchi <simon.marchi@polymtl.ca>
Wed, 17 Jun 2015 18:39:51 +0000 (14:39 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 28 Mar 2018 02:10:43 +0000 (22:10 -0400)
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng/commands/create.c
src/bin/lttng/commands/enable_channels.c

index faf9f3e0d780274d2beb69ab838d2302e4713dcd..60ca1f5d45fc7e0b6271f022b382d9ff8ce9a162 100644 (file)
@@ -49,7 +49,7 @@ static char *opt_shm_path;
 static int opt_no_consumer;
 static int opt_no_output;
 static int opt_snapshot;
-static unsigned int opt_live_timer;
+static uint32_t opt_live_timer;
 
 #ifdef LTTNG_EMBED_HELP
 static const char help_msg[] =
@@ -641,7 +641,7 @@ int cmd_create(int argc, const char **argv)
                        goto end;
                case OPT_LIVE_TIMER:
                {
-                       unsigned long v;
+                       uint64_t v;
 
                        errno = 0;
                        opt_arg = poptGetOptArg(pc);
@@ -653,22 +653,24 @@ int cmd_create(int argc, const char **argv)
                                break;
                        }
 
-                       v = strtoul(opt_arg, NULL, 0);
-                       if (errno != 0 || !isdigit(opt_arg[0])) {
-                               ERR("Wrong value in --live parameter: %s", opt_arg);
+                       if (utils_parse_time_suffix(opt_arg, &v) < 0) {
+                               ERR("Wrong value for --live parameter: %s", opt_arg);
                                ret = CMD_ERROR;
                                goto end;
                        }
+
                        if (v != (uint32_t) v) {
                                ERR("32-bit overflow in --live parameter: %s", opt_arg);
                                ret = CMD_ERROR;
                                goto end;
                        }
+
                        if (v == 0) {
                                ERR("Live timer interval must be greater than zero");
                                ret = CMD_ERROR;
                                goto end;
                        }
+
                        opt_live_timer = (uint32_t) v;
                        DBG("Session live timer interval set to %d", opt_live_timer);
                        break;
index 214c8a3621660c8cf83cbd31edf26e7b7c06aebc..3314bde0d6da4f7ff37d8747d2b1129e746bda92 100644 (file)
@@ -493,16 +493,17 @@ int cmd_enable_channels(int argc, const char **argv)
                }
                case OPT_SWITCH_TIMER:
                {
-                       unsigned long v;
+                       uint64_t v;
 
                        errno = 0;
                        opt_arg = poptGetOptArg(pc);
-                       v = strtoul(opt_arg, NULL, 0);
-                       if (errno != 0 || !isdigit(opt_arg[0])) {
-                               ERR("Wrong value in --switch-timer parameter: %s", opt_arg);
+
+                       if (utils_parse_time_suffix(opt_arg, &v) < 0) {
+                               ERR("Wrong value for --switch-timer parameter: %s", opt_arg);
                                ret = CMD_ERROR;
                                goto end;
                        }
+
                        if (v != (uint32_t) v) {
                                ERR("32-bit overflow in --switch-timer parameter: %s", opt_arg);
                                ret = CMD_ERROR;
@@ -514,16 +515,17 @@ int cmd_enable_channels(int argc, const char **argv)
                }
                case OPT_READ_TIMER:
                {
-                       unsigned long v;
+                       uint64_t v;
 
                        errno = 0;
                        opt_arg = poptGetOptArg(pc);
-                       v = strtoul(opt_arg, NULL, 0);
-                       if (errno != 0 || !isdigit(opt_arg[0])) {
-                               ERR("Wrong value in --read-timer parameter: %s", opt_arg);
+
+                       if (utils_parse_time_suffix(opt_arg, &v) < 0) {
+                               ERR("Wrong value for --read-timer parameter: %s", opt_arg);
                                ret = CMD_ERROR;
                                goto end;
                        }
+
                        if (v != (uint32_t) v) {
                                ERR("32-bit overflow in --read-timer parameter: %s", opt_arg);
                                ret = CMD_ERROR;
This page took 0.028502 seconds and 5 git commands to generate.