summaryrefslogtreecommitdiff
path: root/openbsd-compat
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2019-11-01 18:24:29 +1100
committerDarren Tucker <dtucker@dtucker.net>2019-11-01 18:27:37 +1100
commit0e3c5bc50907d2058407641b5a3581b7eda91b7e (patch)
treec7dda5c4d05debff27635a088bd6193c8d67f25a /openbsd-compat
parentb56dbfd9d967e5b6ce7be9f81f206112e19e1030 (diff)
Hook up fnmatch for platforms that don't have it.
Diffstat (limited to 'openbsd-compat')
-rw-r--r--openbsd-compat/Makefile.in1
-rw-r--r--openbsd-compat/fnmatch.c6
-rw-r--r--openbsd-compat/fnmatch.h11
-rw-r--r--openbsd-compat/openbsd-compat.h1
4 files changed, 17 insertions, 2 deletions
diff --git a/openbsd-compat/Makefile.in b/openbsd-compat/Makefile.in
index 1162dc55..94fb0a55 100644
--- a/openbsd-compat/Makefile.in
+++ b/openbsd-compat/Makefile.in
@@ -25,6 +25,7 @@ OPENBSD=base64.o \
explicit_bzero.o \
fmt_scaled.o \
freezero.o \
+ fnmatch.o \
getcwd.o \
getgrouplist.o \
getopt_long.o \
diff --git a/openbsd-compat/fnmatch.c b/openbsd-compat/fnmatch.c
index 88d5dbc3..da841d20 100644
--- a/openbsd-compat/fnmatch.c
+++ b/openbsd-compat/fnmatch.c
@@ -85,6 +85,11 @@
* path delimiter must be aware that 0x5C is NOT unique within SHIFT-JIS.
*/
+/* OPENBSD ORIGINAL: lib/libc/gen/fnmatch.c */
+
+#include "includes.h"
+#ifndef HAVE_FNMATCH
+
#include <fnmatch.h>
#include <string.h>
#include <ctype.h>
@@ -487,3 +492,4 @@ firstsegment:
/* Pattern didn't match to the end of string. */
return FNM_NOMATCH;
}
+#endif /* HAVE_FNMATCH */
diff --git a/openbsd-compat/fnmatch.h b/openbsd-compat/fnmatch.h
index 4b27d06c..b54de01f 100644
--- a/openbsd-compat/fnmatch.h
+++ b/openbsd-compat/fnmatch.h
@@ -32,10 +32,16 @@
* @(#)fnmatch.h 8.1 (Berkeley) 6/2/93
*/
+/* OPENBSD ORIGINAL: include/fnmatch.h */
+
+#ifndef HAVE_FNMATCH_H
+
#ifndef _FNMATCH_H_
#define _FNMATCH_H_
+#ifdef HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
+#endif
#define FNM_NOMATCH 1 /* Match failed. */
#define FNM_NOSYS 2 /* Function not supported (unused). */
@@ -50,8 +56,9 @@
#define FNM_FILE_NAME FNM_PATHNAME
#endif
-__BEGIN_DECLS
+/* __BEGIN_DECLS */
int fnmatch(const char *, const char *, int);
-__END_DECLS
+/* __END_DECLS */
#endif /* !_FNMATCH_H_ */
+#endif /* ! HAVE_FNMATCH_H */
diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h
index 97b344b6..afe882f9 100644
--- a/openbsd-compat/openbsd-compat.h
+++ b/openbsd-compat/openbsd-compat.h
@@ -47,6 +47,7 @@
#include "rmd160.h"
#include "md5.h"
#include "blf.h"
+#include "fnmatch.h"
#ifndef HAVE_BASENAME
char *basename(const char *path);