valid_override(4) Driver Applies valid_override(4)
NNAAMMEE
valid_override - controls the use of efun::
SSYYNNOOPPSSIISS
int valid_override( string file, string efun_name );
DDEESSCCRRIIPPTTIIOONN
Add valid_override to master.c in order to control the use
of the efun:: prefix. The valid_override function in mas-
ter.c will be called each time the driver attempts to com-
pile a function call that begins with efun::. If
valid_override returns 0, then that compile will fail.
Thus valid_override provides a way to modify the behavior
of efuns that isn't circumventable via the efun:: prefix
(by having a simul_efun of the same name as the efun to be
modified and having valid_override disallow that
simul_efun from being overriden).
If you wish to have the original 3.1.2 efun:: behavior,
simply add a line to master.c that looks like this:
int valid_override(string file, string efun) { return
1; }
Here is an example valid_override that is more restric-
tive:
int
valid_override(string file, string name)
{
if (file == "/adm/obj/simul_efun") {
return 1;
}
if (name == "destruct")
return 0;
if (name == "shutdown")
return 0;
if (name == "snoop")
return 0;
if (name == "exec")
return 0;
return 1;
}
AAUUTTHHOORR
Truilkan@Basis
SSEEEE AALLSSOO
valid_object(4), function_exists(3)
MudOS 5 Sep 1994 1