.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\" SUCH DAMAGE.
.\"
.\" @(#)atof.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/atof.3,v 1.16 2002/12/18 13:33:03 ru Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/atof.3,v 1.17 2007/01/09 00:28:09 imp Exp $
.\"
.Dd June 4, 1993
.Dt ATOF 3
.Os
.Sh NAME
-.Nm atof
+.Nm atof ,
+.Nm atof_l
.Nd convert
.Tn ASCII
string to double
.Sh SYNOPSIS
.In stdlib.h
.Ft double
-.Fn atof "const char *nptr"
+.Fn atof "const char *str"
+.In xlocale.h
+.Ft double
+.Fn atof_l "const char *str" "locale_t loc"
.Sh DESCRIPTION
The
.Fn atof
function converts the initial portion of the string pointed to by
-.Fa nptr
+.Fa str
to
.Vt double
representation.
.Pp
It is equivalent to:
.Bd -literal -offset indent
-strtod(nptr, (char **)NULL);
+strtod(str, (char **)NULL);
.Ed
.Pp
The decimal point
character is defined in the program's locale (category
.Dv LC_NUMERIC ) .
+.Pp
+While the
+.Fn atof
+function uses the current locale, the
+.Fn atof_l
+function may be passed a locale directly. See
+.Xr xlocale 3
+for more information.
.Sh IMPLEMENTATION NOTES
The
.Fn atof
-function is not thread-safe and also not async-cancel-safe.
+and
+.Fn atof_l
+functions are thread-safe and async-cancel-safe.
.Pp
The
+.Fn strtod
+and
+.Fn strtod_l
+functions are recommended instead of
.Fn atof
-function has been deprecated by
-.Fn strtod
-and should not be used in new code.
+and
+.Fn atof_l
+functions, especially in new code.
.Sh ERRORS
The function
.Fn atof
.Xr atol 3 ,
.Xr strtod 3 ,
.Xr strtol 3 ,
-.Xr strtoul 3
+.Xr strtoul 3 ,
+.Xr xlocale 3
.Sh STANDARDS
The
.Fn atof