From f530523d9476a600c42e04ad76623aa96b2c29f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Thu, 6 Mar 1997 18:53:23 -0800 Subject: [PATCH] implemented dirnode overloading Rev: lib/master.pike:1.36 --- lib/master.pike | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/master.pike b/lib/master.pike index 46cdeae961..8eb64b8170 100644 --- a/lib/master.pike +++ b/lib/master.pike @@ -215,11 +215,19 @@ class dirnode void create(string name) { dirname=name; } object|program `[](string index) { - index=dirname+"/"+index; - if(object o=((object)"/master")->findmodule(index)) + object m=((object)"/master"); + if(mixed o=m->findmodule(dirname+"/module")) { - if(mixed tmp=o->_module_value) - return tmp; + if(mixed tmp=o->_module_value) o=tmp; + if(o=o[index]) + { + if(mixed tmp=o->_module_value) o=tmp; + return o; + } + } + if(object o=((object)"/master")->findmodule(dirname+"/"+index)) + { + if(mixed tmp=o->_module_value) o=tmp; return o; } return (program) index; -- GitLab