GNU MIG recently gained support for emitting x_server_routine declarations in the generated server header file. Using this declaration, the x_server_routine functions can be inlined into the demuxer function.
* auth/auth.c: Include the mig-generated server headers. --- auth/auth.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/auth/auth.c b/auth/auth.c index a395e79..e69c4f8 100644 --- a/auth/auth.c +++ b/auth/auth.c @@ -464,18 +464,16 @@ S_auth_server_authenticate (struct authhandle *serverauth, } +#include "../libports/notify_S.h" +#include "../libports/interrupt_S.h" static int auth_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) { - mig_routine_t auth_server_routine (mach_msg_header_t *); - mig_routine_t ports_notify_server_routine (mach_msg_header_t *); - mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *); - mig_routine_t routine; if ((routine = auth_server_routine (inp)) || - (routine = ports_notify_server_routine (inp)) || - (routine = ports_interrupt_server_routine (inp))) + (routine = ports_interrupt_server_routine (inp)) || + (routine = ports_notify_server_routine (inp))) { (*routine) (inp, outp); return TRUE; -- 1.8.5.2