.\"controls the use of efun:: to override simulated efuns that mask efuns.
.TH valid_override 4 "5 Sep 1994" MudOS "Driver Applies"
.SH NAME
valid_override - controls the use of efun::
.SH SYNOPSIS
int valid_override( string file, string efun_name );
.SH DESCRIPTION
Add valid_override to master.c in order to control the use of the efun::
prefix. The valid_override function in master.c will be called each
time the driver attempts to compile 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).
.PP
If you wish to have the original 3.1.2 efun:: behavior, simply add
a line to master.c that looks like this:
.TP
int valid_override(string file, string efun) { return 1; }
.PP
Here is an example valid_override that is more restrictive:
.PP
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;
}
.SH AUTHOR
Truilkan@Basis
.SH SEE ALSO
valid_object(4), function_exists(3)