1996-11-12
1996-11-12 16:52:25 by Mirar (Pontus Hagland) <pike@sort.mirar.org>
-
ab2f6715c6b66af326f0228e138ee99cf982a34d
(33 lines)
(+24/-9)
[
Show
| Annotate
]
Branch: 5.2
...
Rev: server/base_server/module_support.pike:1.3
Rev: server/base_server/read_config.pike:1.2
Rev: server/base_server/roxen.pike:1.5
Rev: server/etc/roxen_master.pike:1.4
1523: Inside #if defined(MODULE_LEVEL_SECURITY)
if(__p=(program)(s+".lpc")) return __p();
if(file_size(s+".module")>0)
if(__p=(program)(s+".module")) return __p();
+ #if 0
if(file_size(s)>0)
if(__p=(program)(s)) return __p();
if(file_size(s+".so")>0) // Loadable C-library.. TBD
; /* */
-
+ #endif
return 0; // FAILED..
}
- object load_from_dir(string d, string f)
+ array(string) expand_dir(string d)
{
- object o;
+
string nd;
- if(o = load(d+f)) return o;
+ array(string) dirs=({d});
- foreach(get_dir(d), nd) if(file_size(d+nd)==-2)
- if(o=load_from_dir(d+nd+"/",f))
- return o;
+ foreach((get_dir(d) || ({})) - ({"CVS"}) , nd)
+ if(file_size(d+nd)==-2)
+ dirs+=expand_dir(d+nd+"/");
+
+ return dirs;
}
-
+ array(string) last_dirs=0,last_dirs_expand;
+
+
object load_from_dirs(array dirs, string f)
{
string dir;
object o;
-
+
+ if (dirs!=last_dirs)
+ {
+ last_dirs_expand=({});
foreach(dirs, dir)
- if(o=load_from_dir(dir, f))
- return o;
+ last_dirs_expand+=expand_dir(dir);
+ }
+
+ foreach (last_dirs_expand,dir)
+ if ( (o=load(dir+f)) ) return o;
+
return 0;
}