pointers...

From: Mike Redick (Telos@MAD.SCIENTIST.COM)
Date: 09/04/00


Prologue:

I made several large modifications to redit.c and some other files, in
order to support a second set of exits that are stored as a linked list.
In the process I modularized much of the OasisOLC code that dealt with
exits so that it would support both the normal kind and the new kind.  So
now there are several functions to handle adding and editing exits, these
functions use a pointer to the actual exit, rather than using the direction
number, in order to access the various data fields.  This pointer is stored
in the descriptor and called exit_being_worked_on.


The Problem:

Unfortunately, now when someone purges a normal exit and
exit_being_worked_on is set to NULL the actual pointer in struct room_data
is not being set to NULL.  I can't (easily) go into the room_data and set
the right pointer to NULL because there's know easy way of knowing which
direction to set (I don't feel like going through and adding more functions
and data members just to keep track of the direction number that I spent
all this time getting rid of... heh.)

The Question:

How can I get it so that when I set exit_being_worked_on to NULL, the
pointer back in struct room_data is also set to NULL?  I tried passing it
as a reference, but apparently C doesn't support taht... :grumble:  Oh
well, thanks for any help in advance.


     +------------------------------------------------------------+
     | 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/11/01 PDT