Ok, the problem comes about in that if there is an overflow:
modify.c:string_add()
if (strlen(str) + strlen(*d->str) > d->max_str) {
send_to_char("String too long, limit reached on message. Last line
ignored.\r\n",
d->character);
/*
* terminator = 1;
*/
} else {
It does not auto-abort.
Later on at the end of modify.c:string_add():
if (terminator) {
...
} else if (!action)
strcat(*d->str, "\r\n");
It STILL cats \r\n to the end of the string, even if it is over the max
length.
The fix:
modify.c:string_add() (right at end)
} else if (!action && (strlen(*d->str) > d->max_str))
strcat(*d->str, "\r\n");
Cheers!
- Chris Jacobson
+------------------------------------------------------------+
| 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/08/00 PST