anchor.diff:  	Else           -> {ldap_closed_p(Data, Else),Data}
       end.
   
  -do_modify_0(Data, Obj, Mod) ->
  +do_modify_0(Data, Obj, Mod, Controls) ->
       v_modifications(Mod),
       Req = #'ModifyRequest'{object = Obj,
   			   changes = Mod},
       S = Data#eldap.fd,
       Id = bump_id(Data),
       log2(Data, "modify request = ~p~n", [Req]),
  -    Resp = request(S, Data, Id, {modifyRequest, Req}),
  +    Resp = request(S, Data, Id, {modifyRequest, Req, Controls}),
       log2(Data, "modify reply = ~p~n", [Resp]),
       check_reply(Data#eldap{id = Id}, Resp, modifyResponse).
   
  
positive.code: %%%        )
  %%% --------------------------------------------------------------------
  modify(Handle, Object, Mods) when is_pid(Handle), is_list(Object), is_list(Mods) ->
      send(Handle, {modify, Object, Mods}),
      recv(Handle).
  
  %%%
  
negative.code: loop(Cpid, Data) ->
      receive
  
  	{From, {search, A, Controls}} ->
  	    {Res,NewData} = do_search(Data, A, Controls),
  	    send(From,Res),
  	    ?MODULE:loop(Cpid, NewData);
  
  	{From, {modify, Obj, Mod, Controls}} ->
  	    {Res,NewData} = do_modify(Data, Obj, Mod, Controls),
  	    send(From,Res),
  	    ?MODULE:loop(Cpid, NewData);
  
  	{From, {modify_dn, Obj, NewRDN, DelOldRDN, NewSup, Controls}} ->
  	    {Res,NewData} = do_modify_dn(Data, Obj, NewRDN, DelOldRDN, NewSup, Controls),
  	    send(From,Res),
  	    ?MODULE:loop(Cpid, NewData);
  
  	{From, {add, Entry, Attrs, Controls}} ->
  	    {Res,NewData} = do_add(Data, Entry, Attrs, Controls),
  	    send(From,Res),
  	    ?MODULE:loop(Cpid, NewData);
  
  