Namdak Tonpa 9 years ago
parent
commit
7f7ae6fdee
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/kvs.erl

+ 6 - 1
src/kvs.erl

@@ -327,7 +327,7 @@ id_seq(Tab)    -> T = atom_to_list(Tab), case kvs:get(id_seq,T) of {ok,#id_seq{i
 last_disc(T)   -> list_to_atom(lists:concat([T,omitone(kvs:id_seq(list_to_atom(lists:concat([T,".tables"]))))])).
 last_table(T)  -> list_to_atom(lists:concat([T,omitone(lists:max(proplists:get_value(T,fold_tables(),[1])))])).
 fold_tables()  -> lists:foldl(fun(#table{name=X},Acc) ->
-                  wf:setkey(kvs:rname(X),1,Acc,{kvs:rname(X),[kvs:nname(X)|proplists:get_value(kvs:rname(X),Acc,[])]}) end,
+                  setkey(kvs:rname(X),1,Acc,{kvs:rname(X),[kvs:nname(X)|proplists:get_value(kvs:rname(X),Acc,[])]}) end,
                   [], kvs:tables()).
 interval(L,R,Name) -> #interval{left=L,right=R,name=Name,last=last_table(rname(Name))}.
 update_config(Table,Name) ->
@@ -339,3 +339,8 @@ update_config(Table,Name) ->
 update_list(Table,[],Name)                    -> [ interval(top(Table)+1,limit(),Name) ];
 update_list(Table,[#interval{}=CI|Tail],Name) -> [ interval(top(Table)+1,limit(),Name) ] ++
                                                  [ CI#interval{right=top(Table)}       ] ++ Tail.
+
+setkey(Name,Pos,List,New) ->
+    case lists:keyfind(Name,Pos,List) of
+        false -> [New|List];
+        _Element -> lists:keyreplace(Name,Pos,List,New) end.