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

ID: Q142420


The information in this article applies to:
  • The C Run-Time (CRT), included with:
    • Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.1, 4.2, 5.0


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 : kbdocerr kbCRT kbVC400 kbVC410 kbVC420 kbVC500
Version : WinNT:4.0,4.1,4.2,5.0
Platform : NT WINDOWS
Issue type :


Last Reviewed: July 24, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.