diff options
Diffstat (limited to 'src/prefsparser.cc')
-rw-r--r-- | src/prefsparser.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/prefsparser.cc b/src/prefsparser.cc index b5ab1b17..dd4e2ac3 100644 --- a/src/prefsparser.cc +++ b/src/prefsparser.cc @@ -18,7 +18,7 @@ #include <sys/types.h> #include <stdlib.h> #include <locale.h> /* for setlocale */ -#include <math.h> /* for isinf */ +#include <math.h> /* for HUGE_VAL */ #include <limits.h> #include "prefs.h" @@ -112,12 +112,11 @@ static int parseOption(char *name, char *value, case PREFS_FRACTION_100: { double d = strtod (value, NULL); - if (isinf(d)) { - if (d > 0) - *(int*)node->pref = INT_MAX; - else - *(int*)node->pref = INT_MIN; - } else + if (d == HUGE_VAL) + *(int*)node->pref = INT_MAX; + else if (d == -HUGE_VAL) + *(int*)node->pref = INT_MIN; + else *(int*)node->pref = 100 * d; } break; |