diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-01-10 06:45:36 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-01-10 06:45:36 +0000 |
commit | 09bdb7913c0bf7f2b15d1c7f46b566e35fc5eb82 (patch) | |
tree | ef4693486301a3651a7d02df9b1e42e7d31e21fa | |
parent | 2b26565ebb1032576840d2ee6c76c703a67c3d2d (diff) | |
download | ruby-09bdb7913c0bf7f2b15d1c7f46b566e35fc5eb82.tar.gz |
missing.h: remove explicit_bzero_by_memset_s
* include/ruby/missing.h (explicit_bzero_by_memset_s): remove
inline implementation by memset_s, which needs a macro before
including headers and can cause problems in extension libraries
by the order of the macro and headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | include/ruby/missing.h | 14 | ||||
-rw-r--r-- | missing/explicit_bzero.c | 7 |
3 files changed, 15 insertions, 13 deletions
@@ -1,3 +1,10 @@ +Sun Jan 10 15:45:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/missing.h (explicit_bzero_by_memset_s): remove + inline implementation by memset_s, which needs a macro before + including headers and can cause problems in extension libraries + by the order of the macro and headers. + Sun Jan 10 13:41:36 2016 Eric Wong <e@80x24.org> * io.c (rb_deferr): remove long obsolete global diff --git a/include/ruby/missing.h b/include/ruby/missing.h index 8db33496ab..97091606b0 100644 --- a/include/ruby/missing.h +++ b/include/ruby/missing.h @@ -18,10 +18,6 @@ extern "C" { #endif #endif -#ifndef __STDC_WANT_LIB_EXT1__ -#define __STDC_WANT_LIB_EXT1__ 1 -#endif - #include "ruby/config.h" #include <stddef.h> #include <math.h> /* for INFINITY and NAN */ @@ -248,15 +244,7 @@ RUBY_EXTERN void setproctitle(const char *fmt, ...); #ifndef HAVE_EXPLICIT_BZERO RUBY_EXTERN void explicit_bzero(void *b, size_t len); -# ifdef HAVE_MEMSET_S -# include <string.h> -static inline void -explicit_bzero_by_memset_s(void *b, size_t len) -{ - memset_s(b, len, 0, len); -} -# define explicit_bzero(b, len) explicit_bzero_by_memset_s(b, len) -# elif defined SecureZeroMemory +# if defined SecureZeroMemory # define explicit_bzero(b, len) SecureZeroMemory(b, len) # endif #endif diff --git a/missing/explicit_bzero.c b/missing/explicit_bzero.c index 2409deca20..a7ff9cb517 100644 --- a/missing/explicit_bzero.c +++ b/missing/explicit_bzero.c @@ -1,5 +1,12 @@ +#ifndef __STDC_WANT_LIB_EXT1__ +#define __STDC_WANT_LIB_EXT1__ 1 +#endif + #include "ruby/missing.h" #include <string.h> +#ifdef HAVE_MEMSET_S +# include <string.h> +#endif #ifdef _WIN32 #include <windows.h> |