mpg123-1.31.0

This commit is contained in:
Ozkan Sezer
2022-10-28 22:39:00 +03:00
parent b26727f0be
commit cd6cf37dee
53 changed files with 1275 additions and 1229 deletions

View File

@@ -106,15 +106,29 @@ static int performoption (int argc, char *argv[], topt *opt, topt *opts)
return (GLO_NOARG);
loptarg = argv[loptind++]+loptchr;
loptchr = 0;
errno = 0;
if (opt->var) {
char *endptr = NULL;
if (opt->flags & GLO_CHAR) /* var is *char */
setcharoption(opt, loptarg);
else if(opt->flags & GLO_LONG)
*((long *) opt->var) = atol(loptarg);
else if(opt->flags & GLO_INT)
*((int *) opt->var) = atoi(loptarg);
else if(opt->flags & (GLO_LONG | GLO_INT))
{
long val = strtol(loptarg, &endptr, 10);
if(errno || endptr == loptarg || (endptr && *endptr))
return GLO_BADARG;
if(opt->flags & GLO_LONG)
*((long *) opt->var) = val;
else if(val <= INT_MAX && val >= INT_MIN)
*((int *) opt->var) = val;
else
return GLO_BADARG;
}
else if(opt->flags & GLO_DOUBLE)
*((double *) opt->var) = atof(loptarg);
{
*((double *) opt->var) = strtod(loptarg, &endptr);
if(errno || endptr == loptarg || (endptr && *endptr))
return GLO_BADARG;
}
else prog_error();
}
#if 0 /* Oliver: What was this for?! --ThOr */