diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-11-20 20:03:05 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-11-20 20:03:05 +0300 |
commit | 51bf1b81f3c4c7c02d8101f8ab6eb5609892e728 (patch) | |
tree | ebae89c9758e456413847d5de99de8444efb7c01 /newlib | |
parent | b5d8a403eca4b15e4e5a9bc5dd6a85780e6e1d3f (diff) |
Make match function globally available to stdlib functions.
* libc/stdlib/strtod.c (match): Move from here...
* libc/stdlib/gdtoa-hexnan.c (match): ...to here.
* libc/stdlib/mprec.h (match): Declare and add __match define.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/ChangeLog | 6 | ||||
-rw-r--r-- | newlib/libc/stdlib/gdtoa-hexnan.c | 18 | ||||
-rw-r--r-- | newlib/libc/stdlib/mprec.h | 2 | ||||
-rw-r--r-- | newlib/libc/stdlib/strtod.c | 21 |
4 files changed, 26 insertions, 21 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index d37a378c8..27e19a1ab 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,5 +1,11 @@ 2015-11-20 Corinna Vinschen <corinna@vinschen.de> + * libc/stdlib/strtod.c (match): Move from here... + * libc/stdlib/gdtoa-hexnan.c (match): ...to here. + * libc/stdlib/mprec.h (match): Declare and add __match define. + +2015-11-20 Corinna Vinschen <corinna@vinschen.de> + * libc/stdlib/wcstold.c (_strtold): Drop unused declaration. 2015-11-19 Yaakov Selkowitz <yselkowi@redhat.com> diff --git a/newlib/libc/stdlib/gdtoa-hexnan.c b/newlib/libc/stdlib/gdtoa-hexnan.c index 463000528..24e3783be 100644 --- a/newlib/libc/stdlib/gdtoa-hexnan.c +++ b/newlib/libc/stdlib/gdtoa-hexnan.c @@ -44,6 +44,24 @@ THIS SOFTWARE. #include "gdtoa.h" #ifdef INFNAN_CHECK +int +_DEFUN (match, (sp, t), + _CONST char **sp _AND + char *t) +{ + int c, d; + _CONST char *s = *sp; + + while( (d = *t++) !=0) { + if ((c = *++s) >= 'A' && c <= 'Z') + c += 'a' - 'A'; + if (c != d) + return 0; + } + *sp = s + 1; + return 1; +} + static void _DEFUN (L_shift, (x, x1, i), __ULong *x _AND diff --git a/newlib/libc/stdlib/mprec.h b/newlib/libc/stdlib/mprec.h index d4732ca8c..8472e7db0 100644 --- a/newlib/libc/stdlib/mprec.h +++ b/newlib/libc/stdlib/mprec.h @@ -360,6 +360,7 @@ typedef struct _Bigint _Bigint; #define mult __multiply #define pow5mult __pow5mult #define lshift __lshift +#define match __match #define cmp __mcmp #define diff __mdiff #define ulp __ulp @@ -396,6 +397,7 @@ int _EXFUN(hi0bits,(__ULong)); int _EXFUN(lo0bits,(__ULong *)); _Bigint * _EXFUN(d2b,(struct _reent *p, double d, int *e, int *bits)); _Bigint * _EXFUN(lshift,(struct _reent *p, _Bigint *b, int k)); +int _EXFUN(match,(const char**, char*)); _Bigint * _EXFUN(diff,(struct _reent *p, _Bigint *a, _Bigint *b)); int _EXFUN(cmp,(_Bigint *a, _Bigint *b)); int _EXFUN(gethex,(struct _reent *p, _CONST char **sp, _CONST struct FPI *fpi, Long *exp, _Bigint **bp, int sign)); diff --git a/newlib/libc/stdlib/strtod.c b/newlib/libc/stdlib/strtod.c index 9b064f4a8..433dc7f32 100644 --- a/newlib/libc/stdlib/strtod.c +++ b/newlib/libc/stdlib/strtod.c @@ -212,27 +212,6 @@ _DEFUN (ULtod, (L, bits, exp, k), } #endif /* !NO_HEX_FP */ -#ifdef INFNAN_CHECK -static int -_DEFUN (match, (sp, t), - _CONST char **sp _AND - char *t) -{ - int c, d; - _CONST char *s = *sp; - - while( (d = *t++) !=0) { - if ((c = *++s) >= 'A' && c <= 'Z') - c += 'a' - 'A'; - if (c != d) - return 0; - } - *sp = s + 1; - return 1; -} -#endif /* INFNAN_CHECK */ - - double _DEFUN (_strtod_r, (ptr, s00, se), struct _reent *ptr _AND |