From 10bb9e6faba749c3e9656b9088da77b3f1146937 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 1 Dec 2015 01:24:23 +0000 Subject: missing.h: explicit_bzero by memset_s * include/ruby/missing.h (explicit_bzero_by_memset_s): call memset_s directly if available. * missing/explicit_bzero.c: optimization is not a matter if memset_s is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/missing.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/ruby/missing.h') diff --git a/include/ruby/missing.h b/include/ruby/missing.h index 24156bf343..a06cea2ba4 100644 --- a/include/ruby/missing.h +++ b/include/ruby/missing.h @@ -244,6 +244,15 @@ 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 +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) +# endif #endif RUBY_SYMBOL_EXPORT_END -- cgit v1.2.3