PRB: Function Returning Zero When Redefining _nullcheck()

ID Number: Q67084

6.00 6.00a 6.00ax 7.00 | 6.00 6.00a

MS-DOS | OS/2

docerr

Summary:

By default, Microsoft C checks the NULL segment before the final

termination of a program in order to determine if a null pointer

assignment has occurred. This check can be suppressed by defining your

own function called _nullcheck(), which is the name of the library

routine that is normally linked in to do the checking.

The online Help for C versions 6.0, 6.0a, 6.0ax, C/C++ version 7.0,

and QuickC versions 2.5 and 2.51 describes how to replace this

function, but there is an error in those Help files. The online Help

states that you just need to declare your own routine "named

_nullcheck that does nothing". This is not completely true. You

actually need to make your function return a value of zero; otherwise,

the program exit code will be set to 255.

The following is a valid way to define the _nullcheck() function in

your program:

int _cdecl _nullcheck( void)

{

return (0);

}

Additional reference words: 2.50 6.00 6.00a 6.00ax 7.00