summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/glob_pattern_p.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/glob_pattern_p.cc')
-rw-r--r--winsup/cygwin/glob_pattern_p.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/winsup/cygwin/glob_pattern_p.cc b/winsup/cygwin/glob_pattern_p.cc
new file mode 100644
index 000000000..e8f42519b
--- /dev/null
+++ b/winsup/cygwin/glob_pattern_p.cc
@@ -0,0 +1,28 @@
+/* glob_pattern_p.c
+
+ int glob_pattern_p (__const char *__pattern, int __quote)
+
+ Return nonzero if PATTERN contains any metacharacters.
+ Metacharacters can be quoted with backslashes if QUOTE is nonzero.
+
+ This function is not part of the interface specified by POSIX.2
+ but several programs want to use it. */
+
+#include <string.h>
+
+extern "C" {
+
+int glob_pattern_p (const char *pattern, int quote)
+{
+ const char *quote_chars = "\\?*[]";
+ if (!quote)
+ quote_chars++;
+ while ((pattern = strpbrk (pattern, quote_chars)) != NULL)
+ if (*pattern == '\\')
+ pattern++;
+ else
+ return true;
+ return false;
+}
+
+} /* extern "C" */