...
Non-Compliant Code Example
The following non-compliant code defined a function intended to be called before the program exits, in order to properly clean up after itself.
Code Block | ||
---|---|---|
| ||
void cleanup(void) { /* delete temporary files, restore consistent state, etc. */ } int main(void) { atexit(cleanup); /* ... */ assert(/* something bad didn't happen */); /* ... */ } |
If the assert()
However, the code also has an assert
, and if the assertion fails, the cleanup()
function is not called.
...