Hello,
There's a way to 'crash' any ROM...
1. With any player enter the command -> Alias ' ' "
2. Quit
ROM executes in fwrite_char:
fprintf(fp,"Alias %s %s~\n",
ch->pcdata->alias[pos],
ch->pcdata->alias_sub[pos]);
and writes to disk the line -> Alias "~
3. Enter again....
ROM executes in fread_char
ch->pcdata->alias[count] = str_dup(fread_word(fp));
ch->pcdata->alias_sub[count] =
str_dup(fread_word(fp));
The second fread_word fails with the "Fread_word: word
too long"
and exits.
4. ROM is down.
One way to correct this is to add in the one_argument function the next
lines:
if ( *argument == '\'' || *argument == '"' )
cEnd = *argument++;
+ while ( isspace(*argument) )
+ argument++;
while ( *argument != '\0' )
{
PS: Sorry if that was already posted.