diff --git a/lib/master.pike.in b/lib/master.pike.in index 419b91bac9199335392f9328670184cc3e708ffe..5eb45b181cd25584541c80268d552d427e2405a8 100644 --- a/lib/master.pike.in +++ b/lib/master.pike.in @@ -1,6 +1,6 @@ /* -*- Pike -*- * - * $Id: master.pike.in,v 1.114 2000/04/10 21:20:08 grubba Exp $ + * $Id: master.pike.in,v 1.115 2000/04/12 18:39:38 hubbe Exp $ * * Master-file for Pike. * @@ -862,12 +862,13 @@ mapping resolv_cache = set_weak_flag( ([]), 1 ); mixed resolv(string identifier, string|void current_file) { mixed ret; - if( !zero_type (ret = resolv_cache[identifier+current_file]) ) - return ret == ZERO_TYPE ? UNDEFINED : resolv_cache[identifier+current_file]; + string id=identifier+":"+(current_file ? dirname(current_file) : "-"); + if( !zero_type (ret = resolv_cache[id]) ) + return ret == ZERO_TYPE ? UNDEFINED : resolv_cache[id]; array(string) tmp=identifier/"."; ret=resolv_base(tmp[0]); foreach(tmp[1..],string index) ret=ret[index]; - resolv_cache[identifier+current_file] = zero_type (ret) ? ZERO_TYPE : ret; + resolv_cache[id] = zero_type (ret) ? ZERO_TYPE : ret; return ret; }