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