[{Key, F(F, OldVal, Tail, Op, Default)} | PartCfg]
end
end,
-ModCfg = fun(Cfg, Keys, Op, Default) -> ModCfg0(ModCfg0, Cfg, Keys, Op, Default) end.
+ModCfg = fun(Cfg, Keys, Op, Default) -> ModCfg0(ModCfg0, Cfg, Keys, Op, Default) end,
Cfg = case file:consult(filename:join(filename:dirname(SCRIPT), "vars.config")) of
{ok, Terms} ->
[]
end,
+ProcessSingleVar = fun(F, Var, Tail) ->
+ case F(F, [Var], []) of
+ [] -> Tail;
+ [Val] -> [Val | Tail]
+ end
+ end,
+
ProcessVars = fun(_F, [], Acc) ->
lists:reverse(Acc);
(F, [{Type, Ver, Value} | Tail], Acc) when
SysVer < Ver
end,
if Include ->
- F(F, Tail, [Value | Acc]);
+ F(F, Tail, ProcessSingleVar(F, Value, Acc));
true ->
F(F, Tail, Acc)
end;
Flag = Type == if_var_true,
case proplists:get_bool(Var, Cfg) of
V when V == Flag ->
- F(F, Tail, [Value | Acc]);
+ F(F, Tail, ProcessSingleVar(F, Value, Acc));
_ ->
F(F, Tail, Acc)
end;
Type == if_var_no_match ->
case proplists:get_value(Var, Cfg) of
V when V == Match ->
- F(F, Tail, [Value | Acc]);
+ F(F, Tail, ProcessSingleVar(F, Value, Acc));
_ ->
F(F, Tail, Acc)
end;