Hello,
I've recently installed zlib-compression, and everything was
working quite nicely. However, I noticed that if the return
button is pressed without input, I get the following result:
100h 100m 100v > [return]
100h 100m 100v >
100h 100m 100v >
This was caused by a sloppy piece of code in game_loop
anyways, but is this correct behaviour? The code:
/* Print prompts for other descriptors who had no other
output */
for (d = descriptor_list; d; d = d->next) {
if (!d->has_prompt) {
write_to_output(d, make_prompt(d)); <--- This should
be write_to_descriptor(d, make_prompt(d));
d->has_prompt = 1;
}
}
Zlib changed the format of write_to_descriptor, to three
arguments:
int write_to_descriptor(socket_t desc, const char *txt,
size_t total)
(For the entire function, please take a look at the zlib
patch located at
http://www.circlemud.org/pub/CircleMUD/contrib/code/utils/zlib2-bpl20.patch )
So, I converted the line to:
write_to_descriptor(d, make_prompt(d), strlen(make_prompt(d)));
However, sometimes, when this line is called, the mud
just stops sending. The character is still in the game,
can move, fight, eat etc, but doesn't get the output.
After a reconnect it is back to normal. Could anybody
help me please, I'm puzzled.
Thank you.
--
+---------------------------------------------------------------+
| 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