]> git.saurik.com Git - apple/libc.git/blobdiff - gen/FreeBSD/glob.3.patch
Libc-594.1.4.tar.gz
[apple/libc.git] / gen / FreeBSD / glob.3.patch
index a39326f8dfbc74cf1cecc3559a0ef1bdf5659ba5..96ed0c2c101342013c496f695d77fef24b27295a 100644 (file)
@@ -1,6 +1,22 @@
---- glob.3     2004-11-25 11:38:01.000000000 -0800
-+++ glob.3.edit        2006-09-05 14:47:53.000000000 -0700
-@@ -46,9 +46,16 @@
+--- glob.3.orig        2009-05-12 11:21:55.000000000 -0700
++++ glob.3     2009-05-20 15:39:07.000000000 -0700
+@@ -34,21 +34,38 @@
+ .\"     @(#)glob.3    8.3 (Berkeley) 4/16/94
+ .\" $FreeBSD: src/lib/libc/gen/glob.3,v 1.30 2004/09/01 23:28:27 tjr Exp $
+ .\"
+-.Dd September 1, 2004
++.Dd May 20, 2008
+ .Dt GLOB 3
+ .Os
+ .Sh NAME
+ .Nm glob ,
++#ifdef UNIFDEF_BLOCKS
++.Nm glob_b ,
++#endif
+ .Nm globfree
+ .Nd generate pathnames matching a pattern
+-.Sh LIBRARY
+-.Lb libc
  .Sh SYNOPSIS
  .In glob.h
  .Ft int
@@ -8,9 +24,18 @@
 +.Fo glob
 +.Fa "const char *restrict pattern"
 +.Fa "int flags"
-+.Fa "int (*errfunc)(const char *epath, int eerno)"
++.Fa "int (*errfunc)(const char *epath, int errno)"
 +.Fa "glob_t *restrict pglob"
 +.Fc
++#ifdef UNIFDEF_BLOCKS
++.Ft int
++.Fo glob_b
++.Fa "const char *restrict pattern"
++.Fa "int flags"
++.Fa "int (^errblk)(const char *epath, int errno)"
++.Fa "glob_t *restrict pglob"
++.Fc
++#endif
  .Ft void
 -.Fn globfree "glob_t *pglob"
 +.Fo globfree
  .Sh DESCRIPTION
  The
  .Fn glob
-@@ -337,7 +344,7 @@
+@@ -326,18 +343,39 @@
+ or
+ .Fa errfunc
+ returns zero, the error is ignored.
++#ifdef UNIFDEF_BLOCKS
++.Pp
++The
++.Fn glob_b
++function is like
++.Fn glob
++except that the error callback is a block pointer instead of a function
++pointer.
++#endif
+ .Pp
+ The
+ .Fn globfree
+ function frees any space associated with
+ .Fa pglob
+ from a previous call(s) to
++#ifdef UNIFDEF_BLOCKS
++.Fn glob
++or
++.Fn glob_b .
++#else
+ .Fn glob .
++#endif
+ .Sh RETURN VALUES
  On successful completion,
  .Fn glob
++#ifdef UNIFDEF_BLOCKS
++and
++.Fn glob_b
++return zero.
++#else
  returns zero.
 -In addition the fields of
++#endif
 +In addition, the fields of
  .Fa pglob
  contain the values described below:
  .Bl -tag -width GLOB_NOCHECK
-@@ -418,6 +425,11 @@
+@@ -345,12 +383,22 @@
+ contains the total number of matched pathnames so far.
+ This includes other matches from previous invocations of
+ .Fn glob
++#ifdef UNIFDEF_BLOCKS
++or
++.Fn glob_b
++#endif
+ if
+ .Dv GLOB_APPEND
+ was specified.
+ .It Fa gl_matchc
+ contains the number of matched pathnames in the current invocation of
++#ifdef UNIFDEF_BLOCKS
++.Fn glob
++or
++.Fn glob_b .
++#else
+ .Fn glob .
++#endif
+ .It Fa gl_flags
+ contains a copy of the
+ .Fa flags
+@@ -373,6 +421,10 @@
+ .Pp
+ If
+ .Fn glob
++#ifdef UNIFDEF_BLOCKS
++or
++.Fn glob_b
++#endif
+ terminates due to an error, it sets errno and returns one of the
+ following non-zero constants, which are defined in the include
+ file
+@@ -418,6 +470,18 @@
  g.gl_pathv[1] = "-l";
  execvp("ls", g.gl_pathv);
  .Ed
 +.Sh CAVEATS
 +The
 +.Fn glob
-+function will not match filenames that begin with a period
++#ifdef UNIFDEF_BLOCKS
++and
++.Fn glob_b
++functions
++#else
++function
++#endif
++will not match filenames that begin with a period
 +unless this is specifically requested (e.g., by ".*").
  .Sh SEE ALSO
  .Xr sh 1 ,
  .Xr fnmatch 3 ,
+@@ -456,6 +520,11 @@
+ .Fn globfree
+ functions first appeared in
+ .Bx 4.4 .
++#ifdef UNIFDEF_BLOCKS
++The
++.Fn glob_b
++function first appeared in Mac OS X 10.6.
++#endif
+ .Sh BUGS
+ Patterns longer than
+ .Dv MAXPATHLEN
+@@ -463,7 +532,13 @@
+ .Pp
+ The
+ .Fn glob
+-argument
++#ifdef UNIFDEF_BLOCKS
++and
++.Fn glob_b
++functions
++#else
++function
++#endif
+ may fail and set errno for any of the errors specified for the
+ library routines
+ .Xr stat 2 ,