anchor.diff:                  {Res, PS};
               {archive, ArchiveFile, FileInArchive} ->
                   debug(PS, {archive_list_dir, ArchiveFile, FileInArchive}),
  -                FunnyDir = funny_split(FileInArchive, $/),
  +                DirComponents = path_split(FileInArchive),
                   Fun =
  -                    fun({Funny, _GetInfo, _GetBin}, {Status, Names} = Acc) ->
  -                            case Funny of
  -                                [RevName | FD] when FD =:= FunnyDir ->
  +                    fun({Components, _GetInfo, _GetBin}, {Status, Names} = Acc) ->
  +                            case Components of
  +                                [RevName | DC] when DC =:= DirComponents ->
                                       case RevName of
                                           "" ->
                                               %% The listed directory
  
positive.code: reverse([A, B | L]) ->
      lists:reverse(L, [B, A]). % BIF
                          
  %% Returns all lists in reverse order
  funny_split(List, Sep) ->
     funny_split(List, Sep, [], []).
  
  funny_split([Sep | Tail], Sep, Path, Paths) ->
      funny_split(Tail, Sep, [], [Path | Paths]);
  funny_split([Head | Tail], Sep, Path, Paths) ->
      funny_split(Tail, Sep, [Head | Path], Paths);
  funny_split([], _Sep, Path, Paths) ->
      [Path | Paths].
  
  name_split(ArchiveFile, File0) ->
  
negative.code:                                             Name = reverse(RevName),
                                              {true, {Status, [Name | Names]}}
                                      end;
                                  ["", RevName | DC] when DC =:= DirComponents ->
                                      %% Directory
                                      Name = reverse(RevName),
                                      {true, {Status, [Name | Names]}};
                                  [RevName] when DirComponents =:= [""] ->
                                      %% File in top directory
                                      Name = reverse(RevName),
                                      {true, {ok, [Name | Names]}};
                                  ["", RevName] when DirComponents =:= [""] ->
                                      %% Directory in top directory
                                      Name = reverse(RevName),
                                      {true, {ok, [Name | Names]}};
                                  _ ->
  