atof.3.patch   [plain text]


--- atof.3.orig	2010-02-08 16:26:10.000000000 -0800
+++ atof.3	2010-02-13 20:58:26.000000000 -0800
@@ -36,7 +36,8 @@
 .Dt ATOF 3
 .Os
 .Sh NAME
-.Nm atof
+.Nm atof ,
+.Nm atof_l
 .Nd convert
 .Tn ASCII
 string to double
@@ -45,33 +46,50 @@ 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 atof
-function has been deprecated by
+and
+.Fn atof_l
+functions have been deprecated by
 .Fn strtod
+and
+.Fn strtod_l
 and should not be used in new code.
 .Sh ERRORS
 The function
@@ -84,7 +102,8 @@ on an error.
 .Xr atol 3 ,
 .Xr strtod 3 ,
 .Xr strtol 3 ,
-.Xr strtoul 3
+.Xr strtoul 3 ,
+.Xr xlocale 3
 .Sh STANDARDS
 The
 .Fn atof