But you have to give this cleanup jump label a different name for every function.
You don't. Labels are local to functions in C.
You don't. Labels are local to functions in C.