Re: Poll: global buffers

From: Tony Robbins (robbinwa@mailbox.orst.edu)
Date: 07/20/01


In short:  Global buffers should be axed.

In long:  Because of the widespread use of CircleMUD by the
less-than-C-literate, I find it beneficial that we get rid of more and more
'magic' anything.  Too many people have historically found 'buf' to be some
omnipresent thing that can be used and abused in various ways.

We also run into various problems, for example, passing spell arguments (a
la the old locate object spell).  For those of you who don't recall, when
you do a locate object, the following occurs:

1. > cast 'locate object' keyword
2. The spell parser looks for an object (prototype?) with said keyword.
3. Finding the object, it passes this to the manual spell.
4. The manual spell uses the object's keyword list to search the world for
that object.

The result can be finding different objects than you were looking for, and
in game hackish tricks have to be done to get what you want.  This situation
may have been remedied, but it's only a specific case.

It ties into global buffers in that, using them everywhere, we mangle and
munge them in various ways, and then pass them on to other functions which
expect certain criteria to be satisfied by the data.

We can have extra checking to take care of it, which is good (but more
[local] overhead), or we can be allocating and using this data in a natural
manner and have it behave as expected.  The problems appear because of the
attempted generic nature of CircleMUD's functions.

[sigh]  Company arrives.  I hope I conveyed my 'why'.

-k.

--
   +---------------------------------------------------------------+
   | 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 : 12/06/01 PST