2003-11-27 Jeff Johnston <jjohnstn@redhat.com>

* libc/include/stdlib.h (_atoi_r): New prototype.
        * libc/stdlib/atoi.c (_atoi_r): New reentrant function.
This commit is contained in:
Jeff Johnston 2003-11-27 20:54:12 +00:00
parent 83bf7d2f89
commit cc2a11e0d0
3 changed files with 34 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2003-11-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (_atoi_r): New prototype.
* libc/stdlib/atoi.c (_atoi_r): New reentrant function.
2003-11-27 Jeff Johnston <jjohnstn@redhat.com> 2003-11-27 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h (_atoll_r, _atol_r): New prototypes. * libc/include/stdlib.h (_atoll_r, _atol_r): New prototypes.

View File

@ -62,6 +62,7 @@ double _EXFUN(atof,(const char *__nptr));
float _EXFUN(atoff,(const char *__nptr)); float _EXFUN(atoff,(const char *__nptr));
#endif #endif
int _EXFUN(atoi,(const char *__nptr)); int _EXFUN(atoi,(const char *__nptr));
int _EXFUN(_atoi_r,(struct _reent *, const char *__nptr));
long _EXFUN(atol,(const char *__nptr)); long _EXFUN(atol,(const char *__nptr));
long _EXFUN(_atol_r,(struct _reent *, const char *__nptr)); long _EXFUN(_atol_r,(struct _reent *, const char *__nptr));
_PTR _EXFUN(bsearch,(const _PTR __key, _PTR _EXFUN(bsearch,(const _PTR __key,

View File

@ -6,11 +6,17 @@ INDEX
atoi atoi
INDEX INDEX
atol atol
INDEX
_atoi_r
INDEX
_atol_r
ANSI_SYNOPSIS ANSI_SYNOPSIS
#include <stdlib.h> #include <stdlib.h>
int atoi(const char *<[s]>); int atoi(const char *<[s]>);
long atol(const char *<[s]>); long atol(const char *<[s]>);
int _atoi_r(struct _reent *<[ptr]>, const char *<[s]>);
long _atol_r(struct _reent *<[ptr]>, const char *<[s]>);
TRAD_SYNOPSIS TRAD_SYNOPSIS
#include <stdlib.h> #include <stdlib.h>
@ -20,6 +26,14 @@ TRAD_SYNOPSIS
long atol(<[s]>) long atol(<[s]>)
char *<[s]>; char *<[s]>;
int _atoi_r(<[ptr]>, <[s]>)
struct _reent *<[ptr]>;
char *<[s]>;
long _atol_r(<[ptr]>, <[s]>)
struct _reent *<[ptr]>;
char *<[s]>;
DESCRIPTION DESCRIPTION
<<atoi>> converts the initial portion of a string to an <<int>>. <<atoi>> converts the initial portion of a string to an <<int>>.
@ -28,12 +42,15 @@ DESCRIPTION
<<atoi(s)>> is implemented as <<(int)strtol(s, NULL, 10).>> <<atoi(s)>> is implemented as <<(int)strtol(s, NULL, 10).>>
<<atol(s)>> is implemented as <<strtol(s, NULL, 10).>> <<atol(s)>> is implemented as <<strtol(s, NULL, 10).>>
<<_atoi_r>> and <<_atol_r>> are reentrant versions of <<atoi>> and
<<atol>> respectively, passing the reentrancy struct pointer.
RETURNS RETURNS
The functions return the converted value, if any. If no conversion was The functions return the converted value, if any. If no conversion was
made, <<0>> is returned. made, <<0>> is returned.
PORTABILITY PORTABILITY
<<atoi>> is ANSI. <<atoi>>, <<atol>> are ANSI.
No supporting OS subroutines are required. No supporting OS subroutines are required.
*/ */
@ -45,10 +62,20 @@ No supporting OS subroutines are required.
#include <stdlib.h> #include <stdlib.h>
#include <_ansi.h> #include <_ansi.h>
#ifndef _REENT_ONLY
int int
_DEFUN (atoi, (s), _DEFUN (atoi, (s),
_CONST char *s) _CONST char *s)
{ {
return (int) strtol (s, NULL, 10); return (int) strtol (s, NULL, 10);
} }
#endif /* !_REENT_ONLY */
int
_DEFUN (_atoi_r, (s),
struct _reent *ptr _AND
_CONST char *s)
{
return (int) _strtol_r (ptr, s, NULL, 10);
}