Re: Usage of obj->next and obj->next_content

From: Ben Cartwright (europa@vt.edu)
Date: 02/18/00


> Arn't those two redundant?  From my checking, you can have
>
> Person.inventory object->next->next->next
>                     \      \-contains->next
>                      \->contains->next->next->next
>                                     \->contains
>
> without ever needing the next_content.  Is that just around for historical
> reasons?  I'm attempting to simplify somewhat and redo the load/save
routines.
>
> Am I totally off-base or can this be brought in-line?
>

struct obj_data {
   <...>
   struct obj_data *next_content; /* For 'contains' lists             */
   struct obj_data *next;         /* For the object list              */
};

    Actually, unless I am mistaken, the next pointer is used soley for the
global linked list of objects, and is not referenced at all when you are
moving objects around.  next_content is used in separate linked lists,
headed by either room_data.contents, char_data.carrying, or
obj_data.contains.
    For verification, you can just dig through handler.c, which contains all
the linked-list management functions.

--Ben Cartwright


     +------------------------------------------------------------+
     | 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 : 04/10/01 PDT