static int my_parser(struct lxc_arguments *args, int c, char *arg) { switch (c) { case 'r': args->reboot = 1; break; case 'W': args->nowait = 1; break; case 't': if (lxc_safe_long(arg, &args->timeout) < 0) return -1; break; case 'k': args->hardstop = 1; break; case OPT_NO_LOCK: args->nolock = 1; break; case OPT_NO_KILL: args->nokill = 1; break; } return 0; }
static int my_parser(struct lxc_arguments* args, int c, char* arg) { switch (c) { case 'k': args->hardstop = 1; break; case 'L': args->list = 1; break; case 'r': args->reboot = 1; break; case 's': args->shutdown = 1; break; case 'a': args->all = 1; break; case 'A': args->ignore_auto = 1; break; case 'g': cmd_groups_list = accumulate_list(arg, ",", cmd_groups_list); break; case 't': if (lxc_safe_long(arg, &args->timeout) < 0) return -1; break; } return 0; }
void test_lxc_safe_long(void) { signed long int n; lxc_test_assert_abort((0 == lxc_safe_long("1234345", &n)) && n == 1234345); lxc_test_assert_abort((0 == lxc_safe_long(" 345", &n)) && n == 345); lxc_test_assert_abort((0 == lxc_safe_long("-1234345", &n)) && n == -1234345); lxc_test_assert_abort((0 == lxc_safe_long(" -345", &n)) && n == -345); lxc_test_assert_abort((-EINVAL == lxc_safe_long(" g345", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long(" 3g45", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long(" 345g", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("g345", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("3g45", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("345g", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("g345 ", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("3g45 ", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("345g ", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long("g", &n))); lxc_test_assert_abort((-EINVAL == lxc_safe_long(" g345", &n))); }