function pointer and early return