+ /* opt_set_floatval */
+ {
+ float arg = 1000;
+ reset_options();
+ opt_register_arg("-a", opt_set_floatval, NULL, &arg, "All");
+ ok1(parse_args(&argc, &argv, "-a", "9999", NULL));
+ ok1(arg == 9999);
+ ok1(parse_args(&argc, &argv, "-a", "-9999", NULL));
+ ok1(arg == -9999);
+ ok1(parse_args(&argc, &argv, "-a", "0", NULL));
+ ok1(arg == 0);
+ ok1(!parse_args(&argc, &argv, "-a", "100crap", NULL));
+ }
+ /* opt_set_doubleval */
+ {
+ double arg = 1000;
+ reset_options();
+ opt_register_arg("-a", opt_set_doubleval, NULL, &arg, "All");
+ ok1(parse_args(&argc, &argv, "-a", "9999", NULL));
+ ok1(arg == 9999);
+ ok1(parse_args(&argc, &argv, "-a", "-9999", NULL));
+ ok1(arg == -9999);
+ ok1(parse_args(&argc, &argv, "-a", "0", NULL));
+ ok1(arg == 0);
+ ok1(!parse_args(&argc, &argv, "-a", "100crap", NULL));
+ }