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)
回到上一頁