I guess I missed the first part of this thread, but why use a macro for that and not a function? #include <stdarg.h> /* Like sprintf it returns the count of the arguments read */ int send_to_charf(ch, const char *format, ...) { char buf[MAX]; va_list argp; int count; buf[0] = '\0'; va_start(argp, format); count = vsprintf(buf, format, argp); va_end(argp); if (buf[0]) send_to_char(ch, buf); return count; } NOTE: I have not tested this, however it is so completely standard that i have little doubt about its working. --Sean At 05:49 AM 12/9/97 -0600, Chris Jacobson wrote: >On 12/8/97 6:36 PM, Akuma/Chris Baggett/DOOMer (doomer@BAYOU.COM) stated: > >> >>send_to_charf(ch, "messg %s %d %d", string, number, number); >>would be changed in the preprocessor to >>ch->printf("messg %s %d %d", string, number, number); >> > >Macro's don't support varargs (... stuff), unfortunately. I was messing >with it the other day, hoping to have a basic BUG() macro, but I'm stuck >with several versions of bug() macros instead. > >- Chris Jacobson ---- /'''''''''''''''''\'\ The final aspiration of all coders? | | | | /* Sean Butler */ | | Sean Butler | | | Coder for finality.com 4000 | exit(0); | | xin@finality.com | | | | | | \\//................\\\// +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST