summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authormikeh <mikeh@FreeBSD.org>2002-07-17 04:58:09 +0000
committermikeh <mikeh@FreeBSD.org>2002-07-17 04:58:09 +0000
commitcd0195b666c38f44d9ca4b9296f915cf78c02685 (patch)
tree92f6aa408880f10b8b79a3fb6f5189540b25cdd7 /include
parentdd7f21ab90470d396b3c368392f89c1d105594f3 (diff)
downloadFreeBSD-src-cd0195b666c38f44d9ca4b9296f915cf78c02685.zip
FreeBSD-src-cd0195b666c38f44d9ca4b9296f915cf78c02685.tar.gz
Update glob(3) to add all the POSIX required options, specifically:
- add GLOB_NOMATCH return value and use it when we don't get a match - rename GLOB_ABEND to GLOB_ABORTED and use it instead of returning 1 in some places - add GLOB_NOESCAPE flag and retire GLOB_QUOTE to compatibility section Suggestions/advice on correct usage of POSIX defines: wollman
Diffstat (limited to 'include')
-rw-r--r--include/glob.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/include/glob.h b/include/glob.h
index d59db3b..694ac40 100644
--- a/include/glob.h
+++ b/include/glob.h
@@ -64,13 +64,24 @@ typedef struct {
int (*gl_stat)(const char *, struct stat *);
} glob_t;
+#if __POSIX_VISIBLE >= 199209
+/* Believed to have been introduced in 1003.2-1992 */
#define GLOB_APPEND 0x0001 /* Append to output from previous call. */
#define GLOB_DOOFFS 0x0002 /* Use gl_offs. */
#define GLOB_ERR 0x0004 /* Return on error. */
#define GLOB_MARK 0x0008 /* Append / to matching directories. */
#define GLOB_NOCHECK 0x0010 /* Return pattern itself if nothing matches. */
#define GLOB_NOSORT 0x0020 /* Don't sort. */
+#define GLOB_NOESCAPE 0x2000 /* Disable backslash escaping. */
+/* Error values returned by glob(3) */
+#define GLOB_NOSPACE (-1) /* Malloc call failed. */
+#define GLOB_ABORTED (-2) /* Unignored error. */
+#define GLOB_NOMATCH (-3) /* No match and GLOB_NOCHECK was not set. */
+#define GLOB_NOSYS (-4) /* Obsolete: source comptability only. */
+#endif /* __POSIX_VISIBLE >= 199209 */
+
+#if __BSD_VISIBLE
#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
@@ -79,11 +90,10 @@ typedef struct {
#define GLOB_TILDE 0x0800 /* Expand tilde names from the passwd file. */
#define GLOB_LIMIT 0x1000 /* limit number of returned paths */
-/* backwards compatibility, this is the old name for this option */
+/* source compatibility, these are the old names */
#define GLOB_MAXPATH GLOB_LIMIT
-
-#define GLOB_NOSPACE (-1) /* Malloc call failed. */
-#define GLOB_ABEND (-2) /* Unignored error. */
+#define GLOB_ABEND GLOB_ABORTED
+#endif /* __BSD_VISIBLE */
__BEGIN_DECLS
int glob(const char *, int, int (*)(const char *, int), glob_t *);
OpenPOWER on IntegriCloud