initial
This commit is contained in:
266
public/tier0/protected_things.h
Normal file
266
public/tier0/protected_things.h
Normal file
@ -0,0 +1,266 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//===========================================================================//
|
||||
|
||||
#ifndef PROTECTED_THINGS_H
|
||||
#define PROTECTED_THINGS_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// This header tries to prevent people from using potentially dangerous functions
|
||||
// (like the notorious non-null-terminating strncpy) and functions that will break
|
||||
// VCR mode (like time, input, registry, etc).
|
||||
//
|
||||
// This header should be included by ALL of our source code.
|
||||
|
||||
// Eventually, ALL of these should be protected, but one man can only accomplish so much in
|
||||
// one day AND work on features too!
|
||||
#if defined( PROTECTED_STRINGS_ENABLE )
|
||||
|
||||
#if defined( printf )
|
||||
#undef printf
|
||||
#endif
|
||||
#define printf printf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( wprintf )
|
||||
#undef wprintf
|
||||
#endif
|
||||
#define wprintf wprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( strcmp )
|
||||
#undef strcmp
|
||||
#endif
|
||||
#define strcmp strcmp__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( wcscmp )
|
||||
#undef wcscmp
|
||||
#endif
|
||||
#define wcscmp wcscmp__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( strncpy )
|
||||
#undef strncpy
|
||||
#endif
|
||||
#define strncpy strncpy__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( wcsncpy )
|
||||
#undef wcsncpy
|
||||
#endif
|
||||
#define wcsncpy wcsncpy__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( strlen )
|
||||
#undef strlen
|
||||
#endif
|
||||
#define strlen strlen__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( wcslen )
|
||||
#undef wcslen
|
||||
#endif
|
||||
#define wcslen wcslen__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( Q_strlen )
|
||||
#undef Q_strlen
|
||||
#endif
|
||||
#define Q_strlen Q_strlen__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( _snprintf )
|
||||
#undef _snprintf
|
||||
#endif
|
||||
#define _snprintf snprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( _snwprintf )
|
||||
#undef _snwprintf
|
||||
#endif
|
||||
#define _snwprintf snwprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( sprintf )
|
||||
#undef sprintf
|
||||
#endif
|
||||
#define sprintf sprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( swprintf )
|
||||
#undef swprintf
|
||||
#endif
|
||||
#define swprintf swprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( vsprintf )
|
||||
#undef vsprintf
|
||||
#endif
|
||||
#define vsprintf vsprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( vswprintf )
|
||||
#undef vswprintf
|
||||
#endif
|
||||
#define vswprintf vswprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( _vsnprintf )
|
||||
#undef _vsnprintf
|
||||
#endif
|
||||
#define _vsnprintf vsnprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( _vsnwprintf )
|
||||
#undef _vsnwprintf
|
||||
#endif
|
||||
#define _vsnwprintf vsnwprintf__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( strcat )
|
||||
#undef strcat
|
||||
#endif
|
||||
#define strcat strcat__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( wcscat )
|
||||
#undef wcscat
|
||||
#endif
|
||||
#define wcscat wcscat__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( strncat )
|
||||
#undef strncat
|
||||
#endif
|
||||
#define strncat strncat__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#if defined( wcsncat )
|
||||
#undef wcsncat
|
||||
#endif
|
||||
#define wcsncat wcsncat__HEY_YOU__USE_VSTDLIB
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined( PROTECTED_THINGS_ENABLE ) && !defined( _X360 )
|
||||
|
||||
#if defined( GetTickCount )
|
||||
#undef GetTickCount
|
||||
#endif
|
||||
#define GetTickCount Use__Plat_MSTime__Instead_of_GetTickCount
|
||||
|
||||
|
||||
#if defined( timeGetTime )
|
||||
#undef timeGetTime
|
||||
#endif
|
||||
#define timeGetTime Use__Plat_MSTime__Instead_of_timeGetTime
|
||||
#if defined( clock )
|
||||
#undef clock
|
||||
#endif
|
||||
|
||||
|
||||
#if defined( GetCursorPos )
|
||||
#undef GetCursorPos
|
||||
#endif
|
||||
#define GetCursorPos GetCursorPos__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( ScreenToClient )
|
||||
#undef ScreenToClient
|
||||
#endif
|
||||
#define ScreenToClient ScreenToClient__USE_VCR_MODE
|
||||
|
||||
|
||||
// JAY64: Revisit this, but squelch the warnings for now
|
||||
#ifndef _WIN64
|
||||
#if defined( GetCommandLine )
|
||||
#undef GetCommandLine
|
||||
#endif
|
||||
#define GetCommandLine GetCommandLine__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegOpenKeyEx )
|
||||
#undef RegOpenKeyEx
|
||||
#endif
|
||||
#define RegOpenKeyEx RegOpenKeyEx__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegOpenKey )
|
||||
#undef RegOpenKey
|
||||
#endif
|
||||
#define RegOpenKey RegOpenKey__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegSetValueEx )
|
||||
#undef RegSetValueEx
|
||||
#endif
|
||||
#define RegSetValueEx RegSetValueEx__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegSetValue )
|
||||
#undef RegSetValue
|
||||
#endif
|
||||
#define RegSetValue RegSetValue__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegQueryValueEx )
|
||||
#undef RegQueryValueEx
|
||||
#endif
|
||||
#define RegQueryValueEx RegQueryValueEx__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegQueryValue )
|
||||
#undef RegQueryValue
|
||||
#endif
|
||||
#define RegQueryValue RegQueryValue__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegCreateKeyEx )
|
||||
#undef RegCreateKeyEx
|
||||
#endif
|
||||
#define RegCreateKeyEx RegCreateKeyEx__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegCreateKey )
|
||||
#undef RegCreateKey
|
||||
#endif
|
||||
#define RegCreateKey RegCreateKey__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( RegCloseKey )
|
||||
#undef RegCloseKey
|
||||
#endif
|
||||
#define RegCloseKey RegCloseKey__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( GetNumberOfConsoleInputEvents )
|
||||
#undef GetNumberOfConsoleInputEvents
|
||||
#endif
|
||||
#define GetNumberOfConsoleInputEvents GetNumberOfConsoleInputEvents__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( ReadConsoleInput )
|
||||
#undef ReadConsoleInput
|
||||
#endif
|
||||
#define ReadConsoleInput ReadConsoleInput__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( GetAsyncKeyState )
|
||||
#undef GetAsyncKeyState
|
||||
#endif
|
||||
#define GetAsyncKeyState GetAsyncKeyState__USE_VCR_MODE
|
||||
|
||||
|
||||
#if defined( GetKeyState )
|
||||
#undef GetKeyState
|
||||
#endif
|
||||
#define GetKeyState GetKeyState__USE_VCR_MODE
|
||||
#endif
|
||||
|
||||
|
||||
#if defined( CreateThread )
|
||||
#undef CreateThread
|
||||
#endif
|
||||
#define CreateThread use__ThreadTools__for_thread_functions
|
||||
|
||||
#if defined( WaitForSingleObject )
|
||||
#undef WaitForSingleObject
|
||||
#endif
|
||||
#define WaitForSingleObject use__ThreadTools__for_thread_functions
|
||||
|
||||
#if defined( EnterCriticalSection )
|
||||
#undef EnterCriticalSection
|
||||
#endif
|
||||
#define EnterCriticalSection use__ThreadTools__for_thread_functions
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif // PROTECTED_THINGS_H
|
Reference in New Issue
Block a user