valid_override(4) MudOS v21c2
(5 Sep 1994)
名称:
valid_override - 控制使用 efun:: 的情形.
语法:
int valid_override( string file, string efun_name );
整数 valid_override( 字符串 file, 字符串 efun_name );
用法:
在主控物件 (master.c) 中加上 valid_override() 可以控制 efun::
这种前置语法 (prefix) 的使用情形. 当驱动程序尝试编译前面加上 efun:: 的函数时,
会调用主控物件的 valid_override(). 如果 valid_override() 返回 0, 则编译失败.
如此一来, valid_override() 可以让一些重要的外部函数不能用 efun:: 这种前置语法来修改这些外部函数的作用
(要修改原始外部函数时, 可以用同名的模拟外部函数 (simul_efun) 来修改.
并使用 valid_override() 禁止这些模拟外部函数被其他函数越权修改 (overriden)
).
如果您希望使用原来 3.1.2 版 efun:: 的作用, 只需要在主控物件 master.c
中加上下面这行:
int valid_override(string file, string efun)
{ return 1; }
底下是一个限制较多的 valid_override() 范例:
int valid_override( string file, string name
)
{
if (file == "/adm/obj/simul_efun") {
}
if (name == "destruct")
if (name == "shutdown")
if (name == "snoop")
if (name == "exec")
return 1;
}
作者:
参考:
翻译:
Spock @ FF 97.Aug.7. (printed 3/16/95)
回到上一页