Loading...
--- Libc/Libc-262.3.2/gen/err.3
+++ Libc/Libc-583/gen/err.3
@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	From: @(#)err.3	8.1 (Berkeley) 6/9/93
-.\" $FreeBSD: src/lib/libc/gen/err.3,v 1.18 2001/10/01 16:08:50 ru Exp $
-.\"
-.Dd March 6, 1999
+.\" $FreeBSD: src/lib/libc/gen/err.3,v 1.20 2004/10/04 14:04:37 jkoshy Exp $
+.\"
+.Dd May 20, 2008
 .Dt ERR 3
 .Os
 .Sh NAME
@@ -49,6 +49,9 @@
 .Nm warnx ,
 .Nm vwarnx ,
 .Nm err_set_exit ,
+#ifdef UNIFDEF_BLOCKS
+.Nm err_set_exit_b ,
+#endif
 .Nm err_set_file
 .Nd formatted error messages
 .Sh LIBRARY
@@ -59,6 +62,10 @@
 .Fn err "int eval" "const char *fmt" "..."
 .Ft void
 .Fn err_set_exit "void (*exitf)(int)"
+#ifdef UNIFDEF_BLOCKS
+.Ft void
+.Fn err_set_exit_b "void (^exitb)(int)"
+#endif
 .Ft void
 .Fn err_set_file "void *vfp"
 .Ft void
@@ -158,6 +165,10 @@
 .Fn verrx
 functions do not return, but exit with the value of the argument
 .Fa eval .
+It is recommended that the standard values defined in
+.Xr sysexits 3
+be used for the value of
+.Fa eval .
 The
 .Fn err_set_exit
 function can be used to specify a function which is called before
@@ -165,6 +176,24 @@
 to perform any necessary cleanup; passing a null function pointer for
 .Va exitf
 resets the hook to do nothing.
+#ifdef UNIFDEF_BLOCKS
+The
+.Fn err_set_exit_b
+function is like
+.Fn err_set_exit
+except it takes a block pointer instead of a function pointer.
+.Bd -ragged -offset indent
+Note: The
+.Fn Block_copy
+function (defined in
+.In Blocks.h )
+is used by
+.Fn err_set_exit_b
+to make a copy of the block, especially for the case when a stack-based
+block might go out of scope when the subroutine returns.
+.Ed
+.Pp
+#endif
 The
 .Fn err_set_file
 function sets the output stream used by the other functions.
@@ -207,8 +236,10 @@
 .Ed
 .Sh SEE ALSO
 .Xr exit 3 ,
+.Xr fmtmsg 3 ,
 .Xr printf 3 ,
-.Xr strerror 3
+.Xr strerror 3 ,
+.Xr sysexits 3
 .Sh HISTORY
 The
 .Fn err
@@ -228,3 +259,8 @@
 .Fn warnc
 functions first appeared in
 .Fx 3.0 .
+#ifdef UNIFDEF_BLOCKS
+The
+.Fn err_set_exit_b
+function first appeared in Mac OS X 10.6.
+#endif