summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--defines.h7
-rw-r--r--includes.h6
-rw-r--r--openbsd-compat/glob.c1
-rw-r--r--openbsd-compat/glob.h8
-rw-r--r--openbsd-compat/openbsd-compat.h1
-rw-r--r--sftp-client.h6
6 files changed, 20 insertions, 9 deletions
diff --git a/defines.h b/defines.h
index fa0ccba7c..a438ddd74 100644
--- a/defines.h
+++ b/defines.h
@@ -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
50struct stat; 54struct stat;
51typedef struct { 55typedef 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
24typedef struct SFTP_DIRENT SFTP_DIRENT; 30typedef struct SFTP_DIRENT SFTP_DIRENT;
25 31
26struct SFTP_DIRENT { 32struct SFTP_DIRENT {