anchor.diff:  fmt_host_port({Host,Port}) -> io_lib:format('~s:~p',[Host,Port]).
   
   %%%################################################################
  -
  -io__nl(D) when is_atom(D) -> io:nl(D);
  -io__nl(P) when is_pid(P) -> P ! {string,io_lib:nl()}.
  -
  -io__format(D, Fmt, Args) when is_atom(D) -> io:format(D, Fmt, Args);
  -io__format(P, Fmt, Args) when is_pid(P) -> P ! {string,io_lib:format(Fmt, Args)}.
  -
  -
  -init() -> loop([]).
  -
  -loop(Acc) ->
  -    receive
  -	{string,Str} ->
  -	    loop([Str|Acc]);
  -	{get,Who} ->
  -	    Who ! {result,lists:flatten(lists:reverse(Acc))}
  -    end.
  -	
  -%%%################################################################
   collect_pids() -> collect_pids(ssh_sup).
   
  -collect_pids(P) -> 
  +collect_pids(P) ->
       Collector = pcollect_pids(P, spawn(fun init_collector/0)),
       Collector ! {get_values,self()},
       receive
  
positive.code: 	  end),
      Collector;
  
  pcollect_pids({_,Pid,supervisor,_}, Collector) when is_pid(Pid) ->
      pcollect_pids(Pid, Collector);
  
  pcollect_pids({_,Pid,worker,_}, Collector) when is_pid(Pid) ->
      Collector ! {value,Pid,Pid},
      Collector;
  
  pcollect_pids(_, Collector) ->
      Collector.
  
  %%%----------------    
  init_collector() ->
      loop_collector([],[]).
  
  
negative.code: %%				Values=/=[] ->
  	    From ! {values,Values}
      end.
  