Inspired by George's new log() and mudlogf() funtions, I'm going through my MUD and re-coding send_to_char(), send_to_room(), and send_to_all() in the same fashion as those new functions.... Here's what I did with send_to_char. NOTE: This does NOT REPLACE send_to_char. This is in addition to send_to_char in comm.c. ---------- In comm.c: Look for: #include "sysdep.h" Add in: #include "stdarg.h" Look for: void send_to_char(char *messg, struct char_data *ch) { if (ch->desc && messg) SEND_TO_Q(messg, ch->desc); } Add in: void send_to_charf(struct char_data *ch, const char *format, ...) { char messg[MAX_STRING_LENGTH]; va_list args; va_start(args, format); vsprintf(messg, format, args); va_end(args); if (ch->desc && messg) SEND_TO_Q(messg, ch->desc); } ---------- In comm.h: Look for: void send_to_char(char *messg, struct char_data *ch); Add in: void send_to_charf(struct char_data *ch, const char *format, ...); Of course, this doesn't change much at all. This just gives you a new function that you can all like so: send_to_charf(ch, "Your name is %s.", GET_NAME(ch)); instead of the old: sprintf(buf, "Your name is %s.", GET_NAME(ch)); send_to_char(buf, ch); I'll leave it up to you guys to go through and replace all the sprintf and send_to_char calls yourself as I don't have time to alter the stock code and make a patch out of it at the moment. Sorry. Oh... The changes to send_to_roomf(), and send_to_allf() should be apparent from what is shown in send_to_charf(). Don't forget to put the prototypes in comm.h Good luck! John Evans <evansj@hi-line.net> May the source be with you. +------------------------------------------------------------+ | 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