Olc, ASCII pfile, player char data... :P

From: Emil Nilimaa (kyos_overlord@hotmail.com)
Date: 11/17/99

This problem make me sick :P

I have put ASCII pfiles in and Oasis olc, and everything seemed ok,
until i started messing with new stuff in char player data.
Which almost always ended up crashing the game when using the olc.

Seems there must be some icky errors along the path of stuff
i added. most likely concerning ASCII pfiles and Oasis.

Messed some with makefile, added the -lefence etc.

and now game wont start. :)
And it seems as i start with autorun, something starts using
all of the computers memory or cpu. Really hacking down the computer.
It spits out a HUGE core file too :P

this is what gdb tells:

(gdb) bt
#0  0x80a6eed in fbgetline (fbfl=0x4015ffe8, line=0xbffffa34 "A")
    at diskio.c:23
#1  0x807601c in build_player_index () at db.c:461
#2  0x8075c96 in boot_db () at db.c:326
#3  0x807131c in init_game (port=4000) at comm.c:344
#4  0x80712c5 in main (argc=3, argv=0xbffffc14) at comm.c:320
#5  0x4005ecb3 in __libc_start_main (main=0x8071060 <main>, argc=3,
    argv=0xbffffc14, init=0x80491fc <_init>, fini=0x80aa47c <_fini>,
    rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffc0c)
    at ../sysdeps/generic/libc-start.c:78

in diskio.c :

int fbgetline(FBFILE *fbfl, char *line)
  char *r = fbfl->ptr, *w = line;

  if(!fbfl || !line || !*fbfl->ptr)
    return FALSE;

  for(; *r && *r != '\n' && r <= fbfl->buf + fbfl->size; r++)  <- 23!
    *(w++) = *r;

  while(*r == '\r' || *r == '\n')

  *w = '\0';

  if(r > fbfl->buf + fbfl->size)
    return FALSE;
  else {
    fbfl->ptr = r;
    return TRUE;

<- 23 shows which line is nr 23.

hmm.. anyone got a clue

Get Your Private, Free Email at http://www.hotmail.com

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |

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