More oddities

From: Dan Egli (
Date: 12/28/98

I tried to do somemore debug code. I have a function that gets called when
someone tries to select a language to speak in that they are not fluent
in. Here it is:

void list_languages(struct char_data *ch)
char *tmp;
int a = 0, i;
sprintf(buf, "Languages:\r\n");
for (i = MIN_LANGUAGES; i < MAX_SKILLS; i++) {
if (SPEAKING(ch) == i) sprintf(buf, "*%s", buf);
sprintf(buf, "%-20s %s\r\n", languages[a++], how_good(GET_SKILL(ch,i)));
sprintf(tmp, "Itteration: %d, Language: %s\r\n", a+1, languages[a++]);
send_to_char(tmp, ch);
sprintf(buf, "%s\r\n* denotes currently spoken language.\r\n", buf);
send_to_char(buf, ch);

That refers to this array:
char *languages[] =
but when it runs this function, it used to simply give me the wrong
language, with the truthfull statment that I do not know that language.
Now that I added the lines that output the itteration and which language
it's checking on, it crashes the mud with a Segmentation fault.

Any ideas?

Warning: Unsolicited Email may result in legal action to recover $500.
By US Code Title 47 Sec.227(a)(2)(B) a computer/modem/printer meets the
definition of a telephone fax machine.  By Sec.227(b)(1)(C), it is
unlawful to send any unsolicited advertisements to such equipment.  By
Sec.227(b)(3)(C), a violation of the aforementioned Section is
punishable by action to recover actual monetary loss, or $500, whichever
is greater, for each violation.

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

This archive was generated by hypermail 2b30 : 12/15/00 PST