.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/lib/libc/gen/fmtcheck.3,v 1.8 2002/12/19 09:40:21 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/fmtcheck.3,v 1.10 2008/08/02 06:02:42 das Exp $
.Dd October 16, 2002
.Os
.Dt FMTCHECK 3
The
.Xr printf 3
family of functions cannot verify the types of arguments that they are
-passed at run-time. In some cases, like
+passed at run-time.
+In some cases, like
.Xr catgets 3 ,
it is useful or necessary to use a user-supplied format string with no
guarantee that the format string matches the specified arguments.
printf(fmtcheck(user_format, standard_format), arg1, arg2);
.Ed
.Pp
-In the check, field widths, fillers, precisions, etc. are ignored (unless
+In the check, field widths, fillers, precisions, etc.\& are ignored (unless
the field width or precision is an asterisk
.Ql *
-instead of a digit string). Also, any text other than the format specifiers
+instead of a digit string).
+Also, any text other than the format specifiers
is completely ignored.
.Sh RETURN VALUES
If
.Fa fmt_default .
.Sh SECURITY CONSIDERATIONS
Note that the formats may be quite different as long as they accept the
-same arguments. For example,
+same arguments.
+For example,
.Qq Li "%p %o %30s %#llx %-10.*e %n"
is compatible with
.Qq Li "This number %lu %d%% and string %s has %qd numbers and %.*g floats (%n)" .
.Sh BUGS
The
.Fn fmtcheck
-function does not understand all of the conversions that
-.Xr printf 3
-does.
+function does not recognize positional parameters.