> i don't understand why... but if in the write_to_output, i put an if around > the parse_color(txt,t), the mud crash with a core dump after some disk > swapping > > i've tried this > > if ((PRF_FLAGGED(t->character,PRF_TEST)) > new_txt = parse_color(txt,t); Well, since I've been out of the game for about two years now I may be wrong (and since I can't remember what most of the macros expand to). Does t point to a valid area in memory? What does parse color do? Does it delete (free) the txt (which I'm assuming is a char *)? Could it be using txt to expand the control characters in for color, and over-flowing the end of the buffer? What's the stack trace from gdb? Which of the above two lines did is crash on, what are the values of t and txt at that point in program execution? You may want to grab a copy of Bruce Perens Electric Fence, it's free and I've found it to be more helpful than Purify or Insight/Insra (which are both quite expensive). EFence came with my copy of RedHat Linux, but if you search for it you should find it quickly. - Sean +------------------------------------------------------------+ | 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/15/00 PST