I'm under the impression that mfprintf is used for
debugging. If this is the case, you should be able to
call

mfprintf(stderr, "foo.\n");

from anywhere in the program so as to get a printout
and know that that portion of code got executed. 

So, I don't think U need to do something as convoluted
as I did to test mfprintf. 

Stick it in the check_take function, when it decides
to announce that it carries... send an mfprintf.... It
really does crash horribly. Not sure why though. 

Looking at the backtrace, vfprintf isn't getting what
it wants. So va_start() or va_arg() isn't working
properly. va_start is used in mprintf which works
fine. 

So va_arg has a problem interpreting and sending the
right parameters to vfprintf. But, va_arg is a library
call. 

Did a "man va_arg", and went Huh? Didn't understand
how to use it.  As mprintf or fprintf works just as
good for debugging purposes..... :-P.  Yeah, I suck at
programming.

Jimmy