Peter Ajamian wrote:
>
> Surgeon wrote:
> >
> > #0 0x805ef0d in perform_move (ch=0x8306db8, dir=3,
> > need_specials_check=1)
> > at act.movement.c:262
> >
> > *act.movement.c*
> > for (k = ch->followers; k; k = next) {
> > next = k->next;
> > if ((k->follower->in_room == was_in) && <- LINE 262
>
> I'm gonna guess that k->follower is not getting initialized properly
> somewhere else or that it is getting cleared somewhere else.
>
> try the following and see what it shows you...
>
> print k
> print *k
> print k->follower
> print *k->follower
> print k->follower->in_room
>
> Regards, Peter
>
Results of the above:
(gdb) print k
$1 = (struct follow_type *) 0x8313d00
(gdb) print *k
$2 = {follower = 0x0, next = 0x0}
(gdb) print k->follower
$3 = (struct char_data *) 0x0
(gdb) print *k->follower
Cannot access memory at address 0x0.
(gdb) print *k->follower
Cannot access memory at address 0x0.
(gdb) print k->follower->in_room
$4 = 0
(gdb) print was_in
$5 = 1931
(gdb) print *was_in
Cannot access memory at address 0x78b.
(gdb) print in_room
No symbol "in_room" in current context.
(gdb) print *in_room
No symbol "in_room" in current context.
(gdb)
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT