.\"controls the use of efun:: to override simulated efuns that mask efuns.
.DT
Process_input
Discworld driver help
Process_input

Name
.SI 5
valid_override - controls the use of efun:: 

.EI
Synopsis
.SI 5
int valid_override(string file, string efun_name)

.EI
Description
.SP 5 5

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).

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 restrictive:

  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;
   }

.EP
Author
.SI 5
Truilkan@Basis
.EI
