While fixing some game-crashing bugs, I came across this in write_to_output.
It was the source of a crash, and quite annoying. Couldn't create characters,
as SEND_TO_Q uses write_to_output. It only messed up, however, at the call for
it in CON_QSEX in nanny(). So I went back and copied the function directly out
of my stock source, and replaced the entire thing in my code. It gave me the
same problems. So I isolated the problem to this line:
CREATE(t->large_outbuf->text, char, LARGE_BUFSIZE);
Then I looked at it again, and realized that it was using "char" in there.
That's not even a variable in the function. Looks like a bug. Anyone tell me
if I'm right or wrong?
Here's the actual code. it stopped just after "JW: 6-2b" in the logs.
if (bufpool != NULL) {
log("JW: 6-1");
t->large_outbuf = bufpool;
bufpool = bufpool->next;
} else { /* else create a new one */
log("JW: 6-2");
CREATE(t->large_outbuf, struct txt_block, 1);
log("JW: 6-2b");
CREATE(t->large_outbuf->text, char, LARGE_BUFSIZE); <==here
log("JW: 6-2c");
buf_largecount++;
log("JW:6-2d");
}
Thanx,
-Elrelet
+------------------------------------------------------------+
| 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