anchor.diff:  %% Descrip.: Walk through a list of srventry records or {error, R}
   %%           tuples and turn the srventry records into
   %%           {Proto, Host, Port} tuples.
  -%% Returns : ProtoHostPortList
  -%%           ProtoHostPortList = list() of {Proto, Host, Port}
  -%%           Proto = tcp | udp | tls
  -%%           Host  = string()
  -%%           Port  = integer()
  +%% Returns : SRVList         |
  +%%           {error, Reason}
  +%%           SRVList = list() of sipdns_srv record()
  +%%           Reason  = atom(), nxdomain | ...
   %%--------------------------------------------------------------------
   combine_srvresults(In) ->
       combine_srvresults(In, [], []).
   
   combine_srvresults([], [], Errors) ->
  -    Errors;
  +    [FirstError | _] = lists:reverse(Errors),
  +    FirstError;
   combine_srvresults([], Res, _) ->
  -    Res;
  +    lists:reverse(Res);
   combine_srvresults([{error, What} | T], Res, Errors) ->
  -    combine_srvresults(T, Res, lists:append(Errors, [{error, What}]));
  +    combine_srvresults(T, Res, [{error, What} | Errors]);
   combine_srvresults([H | T], Res, Errors) when is_record(H, srventry) ->
       {_Order, _Weight, Port, Host} = H#srventry.dnsrrdata,
  -    combine_srvresults(T, lists:append(Res, [{H#srventry.proto, Host, Port}]), Errors).
  +    This = #sipdns_srv{proto=H#srventry.proto, host=Host, port=Port},
  +    combine_srvresults(T, [This | Res], Errors).
   
   
   %%--------------------------------------------------------------------
  
positive.code: naptrlookup(Name) ->
      case inet_res:nslookup(Name, in, ?T_NAPTR) of
  	{ok, Rec} ->
  	    NAPTRs = parse_naptrs(Rec),
  	    logger:log(debug, "Resolver: naptrlookup: ~p -> found ~p NAPTR record(s)",
  		       [Name, length(NAPTRs)]),
  	    NAPTRs;
  
negative.code: %%           NAPTRList = list() of naptrrecord record()
  %%           Type      = string(), "SIP+E2U" or "E2U+SIP" or ...
  %% Descrip.: Pick out all NAPTR records with a Enumservice matching
  %%           the specified Type from a list of naptrrecord records.
  %% Returns : ENUMNAPTRList = list() of naptrrecord record()
  %% Note    : RFC3761 2.4.2 (Services Parameters) defines services as
  %%               service-field = "E2U" 1*(servicespec)
  