Support for DELAY as a floating point number including less than 1

second while maintaining backward compatibiitiy with integer
arguments.
This commit is contained in:
Don Hejna
2016-11-27 20:36:23 -08:00
parent 32b29e61c1
commit 27bbaab976
6 changed files with 12 additions and 11 deletions

View File

@ -44,6 +44,7 @@ void print_version(void)
void parse_options(int argc, char **argv)
{
int n, opt;
float f;
char *end, *s;
const char *scalemodes = "dfwh";
@ -59,7 +60,7 @@ void parse_options(int argc, char **argv)
_options.zoom = 1.0;
_options.animate = false;
_options.gamma = 0;
_options.slideshow = 0;
_options.slideshow = 0.0;
_options.fullscreen = false;
_options.embed = 0;
@ -128,10 +129,10 @@ void parse_options(int argc, char **argv)
_options.recursive = true;
break;
case 'S':
n = strtol(optarg, &end, 0);
if (*end != '\0' || n <= 0)
f = (float) strtof(optarg, &end);
if (*end != '\0' || f <= 0.0)
error(EXIT_FAILURE, 0, "Invalid argument for option -S: %s", optarg);
_options.slideshow = n;
_options.slideshow = (float) f;
break;
case 's':
s = strchr(scalemodes, optarg[0]);