anchor.diff:  
   
   %% fast server side include with macrolike variable bindings expansion
  -ssi(File, Delimiter, Bindings) ->
  -    ssi(File, Delimiter, Bindings, get(sc)).
  -ssi(File, Delimiter, Bindings, SC) ->
  +ssi(File, Delimiter, Bindings, Dir) ->
  +    ssi(File, Delimiter, Bindings, Dir, get(sc)).
  +ssi(File, Delimiter, Bindings, Dir, SC) ->
       Key = {ssi, File, Delimiter},
  -    FullPath = [SC#sconf.docroot, [$/|File]],
  +    FullPath =
  +	case File of
  +	    {rel_path, FileName} ->
  +		[SC#sconf.docroot, Dir,FileName];
  +	    {abs_path, FileName} ->
  +		[SC#sconf.docroot, [$/|FileName]];
  +	    FileName when list(FileName) ->
  +		[SC#sconf.docroot, [$/|FileName]]
  +	end,
       Mtime = path_to_mtime(FullPath),
       case ets:lookup(SC#sconf.ets, Key) of
   	[{_, Parts, Mtime}] ->
  
positive.code: 		{ok, Bin} ->
  		    D =delim_split_file(Delimiter,binary_to_list(Bin),data,[]),
  		    ets:insert(SC#sconf.ets,{Key,D, Mtime}),
  		    ssi(File, Delimiter, Bindings, SC);
  		{error, Rsn} ->
  		    {error,Rsn}
  	    end
  
negative.code: 	Err ->
  	    Err
      end.
  
  expand_parts([{data, D} |T], Bs, Ack) ->	    
      expand_parts(T, Bs, [D|Ack]);
  