strfmon.3.patch   [plain text]


--- strfmon.3.orig	2010-02-08 16:26:10.000000000 -0800
+++ strfmon.3	2010-02-08 17:57:07.000000000 -0800
@@ -30,25 +30,49 @@
 .Dt STRFMON 3
 .Os
 .Sh NAME
-.Nm strfmon
+.Nm strfmon ,
+.Nm strfmon_l
 .Nd convert monetary value to string
-.Sh LIBRARY
-.Lb libc
+.\" .Sh LIBRARY
+.\" .Lb libc
 .Sh SYNOPSIS
 .In monetary.h
 .Ft ssize_t
-.Fn strfmon "char * restrict s" "size_t maxsize" "const char * restrict format" "..."
+.Fo strfmon
+.Fa "char *restrict s"
+.Fa "size_t maxsize"
+.Fa "const char *restrict format"
+.Fa "..."
+.Fc
+.In monetary.h
+.In xlocale.h
+.Ft ssize_t
+.Fo strfmon_l
+.Fa "char *restrict s"
+.Fa "size_t maxsize"
+.Fa "locale_t loc"
+.Fa "const char *restrict format"
+.Fa "..."
+.Fc
 .Sh DESCRIPTION
 The
 .Fn strfmon
 function places characters into the array pointed to by
-.Fa s
+.Fa s ,
 as controlled by the string pointed to by
 .Fa format .
 No more than
 .Fa maxsize
 bytes are placed into the array.
 .Pp
+While the
+.Fn strfmon
+function uses the current locale, the
+.Fn strfmon_l
+function may be passed a locale directly. See
+.Xr xlocale 3
+for more information.
+.Pp
 The format string is composed of zero or more directives:
 ordinary characters (not
 .Cm % ) ,
@@ -116,9 +140,9 @@ character is written.
 .El
 .El
 .Sh RETURN VALUES
-If the total number of resulting bytes including the terminating
+If the total number of resulting bytes, including the terminating
 .Dv NULL
-byte is not more than
+byte, is not more than
 .Fa maxsize ,
 .Fn strfmon
 returns the number of bytes placed into the array pointed to by
@@ -143,8 +167,23 @@ The format string is invalid.
 .It Bq Er ENOMEM
 Not enough memory for temporary buffers.
 .El
+.Sh EXAMPLE
+.Bd -literal -offset indent -compact
+  #include <stdio.h>
+  #include <monetary.h>
+  #include <locale.h>
+
+  int main() {
+          char buf[200];
+          setlocale(LC_ALL, "en_US");
+          (void)strfmon (buf, sizeof(buf)-1, "%n" , 123456.78);
+          printf("%s\n", buf);
+  }
+.Ed
+.Pp
 .Sh SEE ALSO
-.Xr localeconv 3
+.Xr localeconv 3 ,
+.Xr xlocale 3
 .Sh STANDARDS
 The
 .Fn strfmon