Knowledge Base

DOC: Setdflag.c Sample for _CrtSetDbgFlag Missing Tilde (~)

Article ID: 142420

Article Last Modified on 12/9/2003


APPLIES TO


This article was previously published under Q142420

SUMMARY

The Setdflag.c sample program in the Help under _CrtSetDbgFlag(), contains the following section of code which is missing a tilde (~) character:
/*
* Set the debug-heap flag to no longer keep freed blocks in the
* heap's linked list and turn on Debug type allocations (CLIENT)
*/ 
 tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
 tmpDbgFlag |= _CRTDBG_ALLOC_MEM_DF;
 tmpDbgFlag &= _CRTDBG_DELAY_FREE_MEM_DF;  // This line is wrong
 _CrtSetDbgFlag(tmpDbgFlag);
				
The third line of code should be:
 tmpDbgFlag &= ~_CRTDBG_DELAY_FREE_MEM_DF;
				

MORE INFORMATION

To disable a flag with the _CrtSetDbgFlag() function, you should AND the variable with the bitwise NOT of the bitmask.

Additional query words: kbVC400bug

Keywords: kbcrt kbdocerr KB142420