diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/stdlib.h | 8 | ||||
-rw-r--r-- | stdlib/strtod.c | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index 8f94f3b168..e741f492c6 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -245,14 +245,16 @@ struct random_data extern int __random_r __P ((struct random_data *__buf, int32_t *__result)); extern int random_r __P ((struct random_data *__buf, int32_t *__result)); + extern int __srandom_r __P ((unsigned int __seed, struct random_data *__buf)); +extern int srandom_r __P ((unsigned int __seed, struct random_data *__buf)); + extern int __initstate_r __P ((unsigned int __seed, __ptr_t __statebuf, size_t __statelen, struct random_data *__buf)); -extern int __setstate_r __P ((__ptr_t __statebuf, struct random_data *__buf)); - -extern int srandom_r __P ((unsigned int __seed, struct random_data *__buf)); extern int initstate_r __P ((unsigned int __seed, __ptr_t __statebuf, size_t __statelen, struct random_data *__buf)); + +extern int __setstate_r __P ((__ptr_t __statebuf, struct random_data *__buf)); extern int setstate_r __P ((__ptr_t __statebuf, struct random_data *__buf)); #endif /* Use reentrant. */ #endif /* Use BSD. */ diff --git a/stdlib/strtod.c b/stdlib/strtod.c index e1fff3dc3d..859e077b66 100644 --- a/stdlib/strtod.c +++ b/stdlib/strtod.c @@ -445,7 +445,8 @@ INTERNAL (STRTOF) (nptr, endptr, group) /* If no other digit but a '0' is found the result is 0.0. Return current read pointer. */ - if ((c < L_('0') || c > L_('9')) && (wint_t) c != decimal && !TOLOWER (c)) + if ((c < L_('0') || c > L_('9')) && (wint_t) c != decimal + && TOLOWER (c) != L_('e')) { tp = correctly_grouped_prefix (start_of_digits, cp, thousands, grouping); /* If TP is at the start of the digits, there was no correctly |