int called; void first_call() { called = 1; } void third_call() { ASSERT(!called); } void second_call() { ASSERT(!called); call_out( (: first_call :), 0); remove_call_out(); call_out( (: third_call :), 1); } void do_tests() { called = 0; call_out( "first_call", 0); call_out( "second_call", 1); ASSERT(remove_call_out("first_call") != -1); ASSERT(remove_call_out("foo") == -1); }