From 722b909a879b6c50cd77abc73790a71b040e25ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej?= Date: Tue, 15 Sep 2015 00:11:04 +0200 Subject: [PATCH 1/3] Add include guards around SG_PATH_CHAR Such that one can redefine it (for example for cross-platform consistency) --- SimpleGlob.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SimpleGlob.h b/SimpleGlob.h index c83c985..baae00b 100644 --- a/SimpleGlob.h +++ b/SimpleGlob.h @@ -301,7 +301,9 @@ enum SG_FileType { # define INVALID_FILE_ATTRIBUTES ((DWORD)-1) #endif -#define SG_PATH_CHAR '\\' +#ifndef SG_PATH_CHAR +# define SG_PATH_CHAR '\\' +#endif /*! @brief Windows glob implementation. */ template @@ -381,7 +383,9 @@ struct SimpleGlobBase #else // !_WIN32 -#define SG_PATH_CHAR '/' +#ifndef SG_PATH_CHAR +# define SG_PATH_CHAR '/' +#endif /*! @brief Unix glob implementation. */ template From 7c994f206b6c21a296d141fb1f8a992bd5cf1819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej?= Date: Tue, 15 Sep 2015 00:18:59 +0200 Subject: [PATCH 2/3] Fix compilation error, where all symbols used in WinAPI are not defined --- SimpleGlob.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SimpleGlob.h b/SimpleGlob.h index baae00b..798ab1e 100644 --- a/SimpleGlob.h +++ b/SimpleGlob.h @@ -165,7 +165,9 @@ enum SG_Error { // on Windows we want to use MBCS aware string functions and mimic the // Unix glob functionality. On Unix we just use glob. #ifdef _WIN32 -# include +# define WIN32_LEAN_AND_MEAN +# include +# include # define sg_strchr ::_mbschr # define sg_strrchr ::_mbsrchr # define sg_strlen ::_mbslen From 922aa1d7a8711c86e77a9990e16aa7ed02392bea Mon Sep 17 00:00:00 2001 From: nabijaczleweli Date: Wed, 16 Sep 2015 00:47:15 +0200 Subject: [PATCH 3/3] Also include with _MBCS defined As per https://msdn.microsoft.com/en-us/library/b34ccac3.aspx --- SimpleGlob.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SimpleGlob.h b/SimpleGlob.h index 798ab1e..6ce6396 100644 --- a/SimpleGlob.h +++ b/SimpleGlob.h @@ -167,6 +167,8 @@ enum SG_Error { #ifdef _WIN32 # define WIN32_LEAN_AND_MEAN # include +# define _MBCS +# include # include # define sg_strchr ::_mbschr # define sg_strrchr ::_mbsrchr