2025-04-27 07:49:33 -04:00

138 lines
2.9 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* File: D:\WACKER\term.c (Created: 23-Nov-1993)
*
* Copyright 1994 by Hilgraeve Inc. -- Monroe, MI
* All rights reserved
*
* $Revision: 3 $
* $Date: 12/20/00 4:36p $
*/
#include <windows.h>
#pragma hdrstop
#include <tdll\tdll.h>
#if !defined(NDEBUG)
//#include <nih\smrtheap.h>
// 'MemDefaultPoolFlags = MEM_POOL_SERIALIZE' is required by Smartheap
// if app is multithreaded.
//
#if !defined(NO_SMARTHEAP)
unsigned MemDefaultPoolFlags = MEM_POOL_SERIALIZE;
#endif
#endif
#if defined(MSVS6_DEBUG)
#if defined(_DEBUG)
//
// If compiling a debug build with VC6, then turn on the
// new heap debugging tools. To enable this, add the
// define of MSVS6_DEBUG in your personal.cfg.
//
#include <crtdbg.h>
#endif // _DEBUG
#endif // MSVS6_DEBUG
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* FUNCTION:
* WinMain
*
* DESCRIPTION:
* Entry point for wacker
*
*/
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
int i;
#if defined(MSVS6_DEBUG)
#if defined(_DEBUG)
//
// If compiling a debug build with VC6, then turn on the
// new heap debugging tools. To enable this, add the
// define of MSVS6_DEBUG in your personal.cfg.
//
// Get the current state of the flag
// and store it in a temporary variable
//
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
//
// Turn On (OR) - Keep freed memory blocks in the
// heaps linked list and mark them as freed
//
tmpFlag |= _CRTDBG_DELAY_FREE_MEM_DF;
//
// Turn On (OR) - Enable debug heap allocations
// and use of memory block type identifiers,
// such as _CLIENT_BLOCK.
//
tmpFlag |= _CRTDBG_ALLOC_MEM_DF;
//
// Turn On (OR) - Enable debug heap memory leak check
// at program exit.
//
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
//
// Turn Off (AND) - prevent _CrtCheckMemory from
// being called at every allocation request
//
tmpFlag &= ~_CRTDBG_CHECK_ALWAYS_DF;
//
// Set the new state for the flag
//
_CrtSetDbgFlag( tmpFlag );
#endif // _DEBUG
#endif // MSVS6_DEBUG
if (hPrevInst)
return FALSE;
/* --- Initialize Smartheap memory manager for debug version only. --- */
#if !defined(NDEBUG)
#if !defined(NO_SMARTHEAP)
MemRegisterTask();
#endif
#endif
/* --- Initialize this instance of the program --- */
if (!InitInstance(hInst, (LPTSTR)lpCmdLine, nCmdShow))
return FALSE;
/* --- Process messages until the end --- */
i = MessageLoop();
/* --- Report any memory leaks in debug version only. --- */
#if !defined(NDEBUG)
#if !defined(NO_SMARTHEAP)
dbgMemReportLeakage(MemDefaultPool, 1, 1); //lint !e522
#endif
#endif
#if defined(MSVS6_DEBUG)
#if defined(_DEBUG)
//
// Dump any memory leaks here.
//
_CrtDumpMemoryLeaks();
#endif // _DEBUG
#endif // MSVS6_DEBUG
return i;
}