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
This commit is contained in:
nobu 2016-01-10 06:45:36 +00:00
Родитель 2b26565ebb
Коммит 09bdb7913c
3 изменённых файлов: 15 добавлений и 13 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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

Просмотреть файл

@ -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>