Re: [CODE] Patch 22 broke Easy Color

From: Torgny Bjers (artovil@arcanerealms.org)
Date: 10/17/02


From: "Tseran" <Tseran@SEXMAGNET.COM>
> Now, as I see it, we have 2 choices: process color BEFORE it hits
> process_output, but that may take several lines of calling, since there
> are more than one way to add text to the buffer.  Or.  We can try to
> chance process_output a little bit so that it can handle these
> situations.

Hell no. You've got it backwards, sonny. ;)  All you really need to do is
have proc_color or whatever it's called, return a size_t and call it from
inside vwrite_to_output like so:

  vsnprintf(txt, sizeof(txt), format, args);
  wantsize = size = process_color(txt, use_color, color_level);
  if (size < 0 || wantsize >= sizeof(txt))
    size = sizeof(txt) - 1;

Problem solved.  I renamed my proc_colour() or whatever to process_color().
I added a variable to my vwrite_to_output to be able to return color codes
unparsed, like so:

size_t vwrite_to_output(struct descriptor_data *t, bool use_color, const
char *format, va_list args)

That way I can have the editor not parse colors, and so forth and so on,
that's why the call to process_color takes one more argument in my version.

Regards,
/Torgny

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT