diff options
-rw-r--r-- | defines.h | 7 | ||||
-rw-r--r-- | includes.h | 6 | ||||
-rw-r--r-- | openbsd-compat/glob.c | 1 | ||||
-rw-r--r-- | openbsd-compat/glob.h | 8 | ||||
-rw-r--r-- | openbsd-compat/openbsd-compat.h | 1 | ||||
-rw-r--r-- | sftp-client.h | 6 |
6 files changed, 20 insertions, 9 deletions
@@ -850,4 +850,11 @@ struct winsize { | |||
850 | # endif /* gcc version */ | 850 | # endif /* gcc version */ |
851 | #endif /* __predict_true */ | 851 | #endif /* __predict_true */ |
852 | 852 | ||
853 | #if defined(HAVE_GLOB_H) && defined(GLOB_HAS_ALTDIRFUNC) && \ | ||
854 | defined(GLOB_HAS_GL_MATCHC) && defined(GLOB_HAS_GL_STATV) && \ | ||
855 | defined(HAVE_DECL_GLOB_NOMATCH) && HAVE_DECL_GLOB_NOMATCH != 0 && \ | ||
856 | !defined(BROKEN_GLOB) | ||
857 | # define USE_SYSTEM_GLOB | ||
858 | #endif | ||
859 | |||
853 | #endif /* _DEFINES_H */ | 860 | #endif /* _DEFINES_H */ |
diff --git a/includes.h b/includes.h index 2893a54cd..497a038b2 100644 --- a/includes.h +++ b/includes.h | |||
@@ -32,12 +32,6 @@ | |||
32 | #ifdef HAVE_BSTRING_H | 32 | #ifdef HAVE_BSTRING_H |
33 | # include <bstring.h> | 33 | # include <bstring.h> |
34 | #endif | 34 | #endif |
35 | #if defined(HAVE_GLOB_H) && defined(GLOB_HAS_ALTDIRFUNC) && \ | ||
36 | defined(GLOB_HAS_GL_MATCHC) && defined(GLOB_HAS_GL_STATV) && \ | ||
37 | defined(HAVE_DECL_GLOB_NOMATCH) && HAVE_DECL_GLOB_NOMATCH != 0 && \ | ||
38 | !defined(BROKEN_GLOB) | ||
39 | # include <glob.h> | ||
40 | #endif | ||
41 | #ifdef HAVE_ENDIAN_H | 35 | #ifdef HAVE_ENDIAN_H |
42 | # include <endian.h> | 36 | # include <endian.h> |
43 | #endif | 37 | #endif |
diff --git a/openbsd-compat/glob.c b/openbsd-compat/glob.c index 742b4b954..7c97e67f5 100644 --- a/openbsd-compat/glob.c +++ b/openbsd-compat/glob.c | |||
@@ -59,6 +59,7 @@ | |||
59 | */ | 59 | */ |
60 | 60 | ||
61 | #include "includes.h" | 61 | #include "includes.h" |
62 | #include "glob.h" | ||
62 | 63 | ||
63 | #include <sys/types.h> | 64 | #include <sys/types.h> |
64 | #include <sys/stat.h> | 65 | #include <sys/stat.h> |
diff --git a/openbsd-compat/glob.h b/openbsd-compat/glob.h index f8a7fa5ff..f069a05dc 100644 --- a/openbsd-compat/glob.h +++ b/openbsd-compat/glob.h | |||
@@ -42,11 +42,15 @@ | |||
42 | !defined(HAVE_DECL_GLOB_NOMATCH) || HAVE_DECL_GLOB_NOMATCH == 0 || \ | 42 | !defined(HAVE_DECL_GLOB_NOMATCH) || HAVE_DECL_GLOB_NOMATCH == 0 || \ |
43 | defined(BROKEN_GLOB) | 43 | defined(BROKEN_GLOB) |
44 | 44 | ||
45 | #ifndef _GLOB_H_ | 45 | #ifndef _COMPAT_GLOB_H_ |
46 | #define _GLOB_H_ | 46 | #define _COMPAT_GLOB_H_ |
47 | 47 | ||
48 | #include <sys/stat.h> | 48 | #include <sys/stat.h> |
49 | 49 | ||
50 | # define glob_t _ssh_compat_glob_t | ||
51 | # define glob(a, b, c, d) _ssh__compat_glob(a, b, c, d) | ||
52 | # define globfree(a) _ssh__compat_globfree(a) | ||
53 | |||
50 | struct stat; | 54 | struct stat; |
51 | typedef struct { | 55 | typedef struct { |
52 | int gl_pathc; /* Count of total paths so far. */ | 56 | int gl_pathc; /* Count of total paths so far. */ |
diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h index 1ff7114ef..8cc8a11b7 100644 --- a/openbsd-compat/openbsd-compat.h +++ b/openbsd-compat/openbsd-compat.h | |||
@@ -39,7 +39,6 @@ | |||
39 | /* OpenBSD function replacements */ | 39 | /* OpenBSD function replacements */ |
40 | #include "base64.h" | 40 | #include "base64.h" |
41 | #include "sigact.h" | 41 | #include "sigact.h" |
42 | #include "glob.h" | ||
43 | #include "readpassphrase.h" | 42 | #include "readpassphrase.h" |
44 | #include "vis.h" | 43 | #include "vis.h" |
45 | #include "getrrsetbyname.h" | 44 | #include "getrrsetbyname.h" |
diff --git a/sftp-client.h b/sftp-client.h index f814b07d6..14a3b8182 100644 --- a/sftp-client.h +++ b/sftp-client.h | |||
@@ -21,6 +21,12 @@ | |||
21 | #ifndef _SFTP_CLIENT_H | 21 | #ifndef _SFTP_CLIENT_H |
22 | #define _SFTP_CLIENT_H | 22 | #define _SFTP_CLIENT_H |
23 | 23 | ||
24 | #ifdef USE_SYSTEM_GLOB | ||
25 | # include <glob.h> | ||
26 | #else | ||
27 | # include "openbsd-compat/glob.h" | ||
28 | #endif | ||
29 | |||
24 | typedef struct SFTP_DIRENT SFTP_DIRENT; | 30 | typedef struct SFTP_DIRENT SFTP_DIRENT; |
25 | 31 | ||
26 | struct SFTP_DIRENT { | 32 | struct SFTP_DIRENT { |