Hello

From: Jason Wilkins (fenix@IO.COM)
Date: 09/22/98


I'm new to the list.  I'm a very experienced coder, and system
administrator.  But I grew out of actually playing muds a long time ago.
My main interest in CircleMUD is to get ideas from the code on how to
implement a multiplayer game, and how to go about making it fun.  The game
I am developing will be MUD-like in that I am trying to capture the same
freedom of action and community, but it certainly will not be text-based.
However, my code does not exclude the possibility of having a text-based
interface, so a MUD could definitely be written from my design.

I joined the list in case there was anything I didn't understand about the
code.  All in all however it seems to be very well designed, because I
understood most of the design after reading the code for about 30 minutes.

I have one question thats been bothering me, and then I'll lurk some more
^_^

In the file with main(), comm.c I believe, there is a utility function
that says it was rewritten to stop a warning (passing a structure back on
the stack, or temporary area I believe), but is says that they sacrificed
thread safeness to do it.  Its not thread safe because it keeps its return
value in a static structure.  Why not just add a parameter to the function
that points to where to put the answer?

do this:

void function(int x, y, z, struct mystruct *my)
{
 my->answer = x + y + z;

 return;
}

you would call this like this:

main()
{
 struct mystruct my;

 function(1, 2, 3, &my);
}

instead of this:

struct mystruct *function(int x, y, z)
{
 static mystruct my;

 my.answer = x + y + z;

 return &my;
}

which is called like this:

main()
{
 struct mystruct *my;

 my = function(1, 2, 3);
}


Its just a nit-pick.  I was just wondering if there was a reason that it
was done this way?  The way I propose is also the most efficient.  So that
doesn't seem to be an issue.  It seems to just be laziness, I understand
completely.  Make the change that will cause you to change the least code.

Later,
Fenix.

--
         The Phoenix - President of The Artistic Intuition Company
    Caelius * Zen-X * Mirror Reflex * Runica * X-Domain * Infinite Realms
                          http://www.io.com/~fenix


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



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