/** * This method is used by the driver to determine whether or * not an efun can be overriden in an object. * @param file the file that is trying to override the efun * @param func the efun we are trying to override * @param filename the full filename of the file being compiled * @return 1 if we are allowed to override, 0 if not */ int valid_override( string file, string func, string filename ) { string *bing; bing = explode( file, "/") - ({"", "."}); switch( bing[0] ) { case "secure" : return 1; case "std" : case "obj" : case "simul_efun" : case "global" : case "cmds" : return func != "snoop"; default : return 0; } } /* valid_override() */