#include "debug.h" extern int global_debug_level; void parse_cmdline(int argc, char *argv[]); int foo() { int a; DEBUG(1, "Entering foo()...\n"); PRINT_LOCATION(); a = 5; ASSERT( a == 5 ); a = 4; ASSERT( a == 5 ); DEBUG(1, "Leaving foo()...\n"); } int main(int argc, char *argv[]) { parse_cmdline(argc, argv); DEBUG(0, "Entering main()...\n"); foo(); DEBUG(1, "Leaving main()...\n"); return 0; } /* * @fn void parse_cmdline(int argc, char *argv[]) * * Parse the command-line arguments. * * * @param argc The number of command line args. * argc from main(). * @param argv The command line arguments. * argv from main(). * * @return void * */ void parse_cmdline(int argc, char *argv[]) { char c; while ((c = getopt(argc, argv, "hvV")) != EOF) { switch (c){ case 'h': /* print help message here */ exit(0); case 'v': /* emit additional diagnostic info */ case 'V': global_debug_level++; break; default: /* print help message here */ exit(0); } } /* done parsing command line args */ }