]> git.saurik.com Git - apple/libc.git/blame - gen/FreeBSD/scandir.3.patch
Libc-594.1.4.tar.gz
[apple/libc.git] / gen / FreeBSD / scandir.3.patch
CommitLineData
34e8f829
A
1--- scandir.3.orig 2009-05-12 11:21:55.000000000 -0700
2+++ scandir.3 2009-05-20 15:41:07.000000000 -0700
3@@ -32,15 +32,16 @@
4 .\" @(#)scandir.3 8.1 (Berkeley) 6/4/93
5 .\" $FreeBSD: src/lib/libc/gen/scandir.3,v 1.8 2002/12/19 09:40:21 ru Exp $
6 .\"
7-.Dd June 4, 1993
8+.Dd May 20, 2008
9 .Dt SCANDIR 3
10 .Os
11 .Sh NAME
12 .Nm scandir ,
13+#ifdef UNIFDEF_BLOCKS
14+.Nm scandir_b ,
15+#endif
16 .Nm alphasort
17 .Nd scan a directory
18-.Sh LIBRARY
19-.Lb libc
20 .Sh SYNOPSIS
21 .In sys/types.h
22 .In dirent.h
23@@ -48,6 +49,10 @@
24 .Fn scandir "const char *dirname" "struct dirent ***namelist" "int \\*(lp*select\\*(rp\\*(lpstruct dirent *\\*(rp" "int \\*(lp*compar\\*(rp\\*(lpconst void *, const void *\\*(rp"
25 .Ft int
26 .Fn alphasort "const void *d1" "const void *d2"
27+#ifdef UNIFDEF_BLOCKS
28+.Ft int
29+.Fn scandir_b "const char *dirname" "struct dirent ***namelist" "int \\*(lp^select\\*(rp\\*(lpstruct dirent *\\*(rp" "int \\*(lp^compar\\*(rp\\*(lpconst void *, const void *\\*(rp"
30+#endif
31 .Sh DESCRIPTION
32 The
33 .Fn scandir
34@@ -80,6 +85,13 @@
35 .Xr qsort 3
36 to sort the completed array.
37 If this pointer is null, the array is not sorted.
38+Note that from within the
39+.Fa compar
40+subroutine, the two arguments are of type
41+.Ft const struct dirent ** ,
42+so that a double-dereference is needed to access the fields in the
43+.Ft dirent
44+structure.
45 .Pp
46 The
47 .Fn alphasort
48@@ -91,6 +103,18 @@
49 The memory allocated for the array can be deallocated with
50 .Xr free 3 ,
51 by freeing each pointer in the array and then the array itself.
52+#ifdef UNIFDEF_BLOCKS
53+.Pp
54+The
55+.Fn scandir_b
56+function works the same way as the
57+.Fn scandir
58+function, except that
59+.Fa select
60+and
61+.Fa compar
62+are blocks instead of subroutines.
63+#endif
64 .Sh DIAGNOSTICS
65 Returns \-1 if the directory cannot be opened for reading or if
66 .Xr malloc 3
67@@ -107,3 +131,8 @@
68 .Fn alphasort
69 functions appeared in
70 .Bx 4.2 .
71+#ifdef UNIFDEF_BLOCKS
72+The
73+.Fn scandir_b
74+function appeared in Mac OS X 10.6.
75+#endif