let add_entry (intruder_name : string) (intruder_state : string)
(agent_name : string) (label : string)
(e : Widget.entry Widget.widget) (l_rec : string Pervasives.ref)
(lst : Widget.listbox Widget.widget) (l0: string list) : unit=
let rec aux l =
match l with [] -> l_entry:= ((label,ref "",ref [e,l_rec,lst],l0)::(!l_entry))
|(lab,value,entries,_)::ls -> (if(lab=label)
then entries:=((e,l_rec,lst)::(!entries));
aux ls);
in aux (!l_entry);
List.iter
(fun (label,value,_,_) ->
if((!value)<>"")
then update_entry intruder_name intruder_state agent_name label (!value)
)
(!l_entry);
List.iter
(fun (label,value,_,_) ->
if((!value)="")
then update_entry intruder_name intruder_state agent_name label (!value)
)
(!l_entry);