On Mon, 20 Apr 1998, James Turner wrote:
>victim = mud_calloc(1, sizeof(CHAR_DATA));
>
>as opposed to
>
>CREATE(victim, 1, CHAR_DATA);
>
>The second is ugglier IMO. It doesn't behave like a function in two
>respects -- the pointer is modified, and CHAR_DATA isn't valid outside
>of the sizeof(). This is ugliness that can easily be avoided. As it
>stands, the CREATE macro, strictly looking at its usage, doesn't
>clearly assign pointers or whatnot. It's ugly.
You forgot to cast the mud_calloc return value away from 'void *'.
Create 'victim' consisting of 1 'struct char_data'.
>> >Not that much unnecessary casting -- it can be hidden with wrapper
>> >functions and thereby ensure type safety. As for traversing a list
>> >given an arbitrary member, how often is that necessary?
>>
>> You're given a person, find who is in the same room.
>
>If you're given a person, then you can only find the people _after_
>them in a room -- not before. You still have to refer to
>world[IN_ROOM(ch)].people to get the entire list.
Yes, but you just referenced the list from an arbitrary member using the
world array association. I believe that qualifies the situation.
As for weak inheritance, bad name for it. Not a bad idea though, the Linux
kernel uses it, but it doesn't stand out as a real need for CircleMUD.
--
George Greer - Me@Null.net | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard
+------------------------------------------------------------+
| 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