]> git.saurik.com Git - apple/libc.git/blobdiff - gen/FreeBSD/err.3.patch
Libc-583.tar.gz
[apple/libc.git] / gen / FreeBSD / err.3.patch
diff --git a/gen/FreeBSD/err.3.patch b/gen/FreeBSD/err.3.patch
new file mode 100644 (file)
index 0000000..3e345fa
--- /dev/null
@@ -0,0 +1,66 @@
+--- err.3.orig 2009-05-12 11:21:55.000000000 -0700
++++ err.3      2009-05-20 16:48:17.000000000 -0700
+@@ -32,7 +32,7 @@
+ .\"   From: @(#)err.3 8.1 (Berkeley) 6/9/93
+ .\" $FreeBSD: src/lib/libc/gen/err.3,v 1.20 2004/10/04 14:04:37 jkoshy Exp $
+ .\"
+-.Dd March 6, 1999
++.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
+@@ -169,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.
+@@ -234,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