# call_function() and $bf_FOO()

slayer@kaiwan.com (slayer@kaiwan.com)
Sat, 27 Apr 1996 18:50:57 PDT

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    At 08:45 PM 4/27/96 -0500, Don Schwarz wrote:
    >On Sat, 27 Apr 1996 slayer@kaiwan.com wrote:
    >
    >> that sounds like a good idea, but say I have a $bf_* verb with a lot of
    >> aliases and want it to parse the arguments and then call the verb with
    >> call_function()... which will call the $bf_* verb and loop again....
    >>
    >I had thought of that, but I assumed this would be taken care of with
    >DEFAULT_MAX_STACK_DEPTH the same way regular verb calls are.  If not, most
    >loops like this will either have to suspend or tick out anyway, right?  So I
    >don't see this as being much of a problem...
    >
    but then the function doesn't get called at all. Say I had a #0:"bf_fileread
    bf_fileextract bf_filegrep bf_a_whole_bunch_of_other_screwy_FUP_verbs" and
    had this:

    if (index(args[1],":"))
    raise(E_INVARG);
    else
    return call_function(verb[4..$],@args);
    endif

    Yeah, I know this doesn't do permissions checks, but you get the idea,
    anyway the builtin will never get called since it'll keep calling itself
    over and over again.

    >> just fix $bf_recycle then... you could just get rid of #0:do_login_command
    >> and be just as screwed.
    >>
    >Yeah, I guess that'd work just as well.  My reason for suggesting this was
    >because, the way I think of it, there are two sections that make up the MOO:
    >the server and the database.  #0 acts like a bridge between the two sections
    >and, if it was recycled, the server and database wouldn't be able to
    >communicate as well (if at all).  I still can't think of any reason that
    >you'd want to recycle it, aside from recycling and ressurecting it to clear
    >the verbs and properties which could be done just as well without
    >recycling it.
    >                                                         --Dark_Owl

    well, you could hack the server to change it to another object besides #0,
    this isn't recommended, of course.

    This is not a signature.