about summary refs log tree commit diff
path: root/manual
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2024-08-13 15:52:34 +0200
committerFlorian Weimer <fweimer@redhat.com>2024-08-13 15:52:34 +0200
commit2be0572f3a41d5d5a8bb3b2b04244b7c01ac0f58 (patch)
tree664ba39c74da50f1552f5bf65bf0827e705df612 /manual
parent0e16db440cc73d2cdd94e439c0efa1ec43d92b2a (diff)
downloadglibc-2be0572f3a41d5d5a8bb3b2b04244b7c01ac0f58.tar.gz
glibc-2be0572f3a41d5d5a8bb3b2b04244b7c01ac0f58.tar.xz
glibc-2be0572f3a41d5d5a8bb3b2b04244b7c01ac0f58.zip
manual: Document dprintf and vdprintf
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'manual')
-rw-r--r--manual/stdio.texi27
1 files changed, 27 insertions, 0 deletions
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 73d20d9d39..0db4e090af 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -2525,6 +2525,26 @@ store the result in which case @code{-1} is returned.  This was
 changed in order to comply with the @w{ISO C99} standard.
 @end deftypefun
 
+@deftypefun dprintf (int @var{fd}, @var{template}, ...)
+@standards{POSIX, stdio.h}
+@safety{@mtsafe{@mtslocale{}}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}
+This function formats its arguments according to @var{template} and
+writes the result to the file descriptor @var{fd}, using the
+@code{write} function.  It returns the number of bytes written, or a
+negative value if there was an error.  In the error case, @code{errno}
+is set appropriately.  The possible @code{errno} values depend on the
+type of the file descriptor @var{fd}, in addition to the general
+@code{printf} error codes.
+
+The number of calls to @code{write} is unspecified, and some @code{write}
+calls may have happened even if @code{dprintf} returns with an error.
+
+@strong{Portability Note:} POSIX does not require that this function is
+async-signal-safe, and @theglibc{} implementation is not.  However, some
+other systems offer this function as an async-signal-safe alternative to
+@code{fprintf}.  @xref{POSIX Safety Concepts}.
+@end deftypefun
+
 @node Dynamic Output
 @subsection Dynamically Allocating Formatted Output
 
@@ -2738,6 +2758,13 @@ The @code{obstack_vprintf} function is the equivalent of
 as for @code{vprintf}.
 @end deftypefun
 
+@deftypefun int vdprintf (int @var{fd}, const char *@var{template}, va_list @var{ap})
+@standards{POSIX, stdio.h}
+@safety{@mtsafe{@mtslocale{}}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}
+The @code{vdprintf} is the equivalent of @code{dprintf}, but processes
+an argument list.
+@end deftypefun
+
 Here's an example showing how you might use @code{vfprintf}.  This is a
 function that prints error messages to the stream @code{stderr}, along
 with a prefix indicating the name of the program