[Code] proc_color + pl22/3.1

From: Russell Ryan (rjwr10@hotmail.com)
Date: 02/26/03


Hey,
    So I'm changing my code to fix the problem with the new output buffer
system in pl22 and 3.1, and I was wondering if what I'm doing is right. I
don't want to put the proc color in vwrite_to_output, because then a code
snippet like this:
send_to_char(ch, "&W"); // &W is my bright white colorcode
list_char_to_char(world[IN_ROOM(ch)].people, ch);
would send a proc_color for the &W, then for the player description/title
etc
i have a few special additions i made to easycolor, but for them to work the
two need to be one stringe when proc_color changes them
ie:
&WAtrius stands here.&0

So my plan was to place the proc_color in process_output(...) because that
will accomplish what I need

I changed proc_color to return an int, and it returns (lengthofnewstring -
lengthofoldstring)

int process_output(...) {

...snip....

  /* we may need this \r\n for later -- see below */
  strcpy(i, "\r\n"); /* strcpy: OK (for 'MAX_SOCK_BUF >= 3') */

  //amud color fix
  //My freaky colorcode fix
  sizechange = proc_color(t->output, clvl);
  t->bufptr += sizechange;
  t->bufspace -= sizechange;

  /* now, append the 'real' output */
  strcpy(osb, t->output); /* strcpy: OK (t->output:LARGE_BUFSIZE <
osb:MAX_SOCK_BUF-2) */
 ...snip...
}

Does this accurately update everything that needs to be updated? or is there
some other buffer size related variable I need to change?

thanks a bunch,
rj

--
   +---------------------------------------------------------------+
   | 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/26/03 PDT