Add a new COMPAT option for environments lacking SecureZeroMemory(),

rather than explicitly checking for Winelib.  It seems that w32api is
lacking it as well.

[originally from svn r9669]
This commit is contained in:
Ben Harris 2012-09-18 23:05:29 +00:00
Родитель bc8f2193f6
Коммит 580103fca2
4 изменённых файлов: 8 добавлений и 3 удалений

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

@ -113,6 +113,11 @@
# Cygnus/mingw32, whose resource compiler may have less of a
# problem with it.
#
# - COMPAT=/DNO_SECUREZEROMEMORY (Windows only)
# Disables PuTTY's use of SecureZeroMemory(), which is missing
# from some environments' header files. This is enabled by
# default in the Cygwin Makefile.
#
# - XFLAGS=/DTELNET_DEFAULT
# Causes PuTTY to default to the Telnet protocol (in the absence
# of Default Settings and so on to the contrary). Normally PuTTY

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

@ -453,7 +453,7 @@ if (defined $makefiles{'cygwin'}) {
"# RCINC = --include-dir c:\\cygwin\\include\\\n".
"\n".
&splitline("CFLAGS = -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT".
" -D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP " .
" -D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP -DNO_SECUREZEROMEMORY " .
(join " ", map {"-I$dirpfx$_"} @srcdirs)) .
"\n".
"LDFLAGS = -mno-cygwin -s\n".

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

@ -68,7 +68,7 @@ Filename *filename_deserialise(void *vdata, int maxsize, int *used)
return filename_from_str(data);
}
#ifndef __WINE__ /* No SecureZeroMemory in Winelib 1.4 */
#ifndef NO_SECUREZEROMEMORY
/*
* Windows implementation of smemclr (see misc.c) using SecureZeroMemory.
*/

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

@ -75,7 +75,7 @@ struct FontSpec *fontspec_new(const char *name,
#define BOXRESULT (DLGWINDOWEXTRA + sizeof(LONG_PTR))
#define DF_END 0x0001
#ifndef __WINE__ /* No SecureZeroMemory in Winelib 1.4 */
#ifndef NO_SECUREZEROMEMORY
#define PLATFORM_HAS_SMEMCLR /* inhibit cross-platform one in misc.c */
#endif