anchor.diff:  
   ensure_virtual_dirs(Funny, Fun, FakeFI, Includes, FunnyDirs, Acc) ->
       case Funny of
  +	[_] ->
  +	    {Includes, FunnyDirs, Acc};
   	[_ | FunnyDir] ->
   	    case lists:member(FunnyDir, FunnyDirs) of % BIF
   		false ->
  
positive.code: 	    {not_device, [], []};
  	[$/ | T] ->
  	    vxworks_first2(device, T, [$/]);
  	[$\\ | T] ->
  	    vxworks_first2(device, T, [$/]);
  	[H | T] when is_list(H) ->
  	    vxworks_first(H ++ T);
  	[H | T] ->
  
negative.code: 	[] ->
  	    reverse(Acc)
      end.
  
  %% Remove .. and . from the path, e.g.
  %% /path/./to/this/../file -> /path/to/file
  path_flatten(Name) ->
      path_flatten(Name,[],[]).
  
  path_flatten([$/,$.,$.,$/|Rest],_RevLast,RevTop) ->
      path_flatten(Rest,[],RevTop);
  path_flatten([$/,$.,$/|Rest],RevLast,RevTop) ->
      path_flatten([$/|Rest],RevLast,RevTop);
  path_flatten([$/,$.,$.],_RevLast,RevTop) ->
      path_flatten([],[],RevTop);
  path_flatten([$/,$.],RevLast,RevTop) ->
      path_flatten([],RevLast,RevTop);
  path_flatten([$/],RevLast,RevTop) ->
      path_flatten([],RevLast,RevTop);
  path_flatten([$/|Rest],RevLast,RevTop) ->
      path_flatten(Rest,[],[$/|RevLast++RevTop]);
  path_flatten([Ch|Rest],RevLast,RevTop) ->
      path_flatten(Rest,[Ch|RevLast],RevTop);
  path_flatten([],RevLast,RevTop) ->
      reverse(RevLast++RevTop).
  