diff options
Diffstat (limited to 'lib/asn1')
| -rw-r--r-- | lib/asn1/src/asn1_db.erl | 11 | ||||
| -rw-r--r-- | lib/asn1/src/asn1ct.erl | 17 |
2 files changed, 12 insertions, 16 deletions
diff --git a/lib/asn1/src/asn1_db.erl b/lib/asn1/src/asn1_db.erl index 7486fa2db9..28c1fc4563 100644 --- a/lib/asn1/src/asn1_db.erl +++ b/lib/asn1/src/asn1_db.erl @@ -82,11 +82,11 @@ loop(#state{parent = Parent, monitor = MRef, table = Table, includes = Includes} = State) -> receive {set, Mod, K2, V} -> - [{_, Modtab}] = ets:lookup(Table, Mod), + Modtab = ets:lookup_element(Table, Mod, 2), ets:insert(Modtab, {K2, V}), loop(State); {set, Mod, Kvs} -> - [{_, Modtab}] = ets:lookup(Table, Mod), + Modtab = ets:lookup_element(Table, Mod, 2), ets:insert(Modtab, Kvs), loop(State); {From, {get, Mod, K2}} -> @@ -105,7 +105,7 @@ loop(#state{parent = Parent, monitor = MRef, table = Table, end, loop(State); {save, OutFile, Mod} -> - [{_,Mtab}] = ets:lookup(Table, Mod), + Mtab = ets:lookup_element(Table, Mod, 2), TempFile = OutFile ++ ".#temp", ok = ets:tab2file(Mtab, TempFile), ok = file:rename(TempFile, OutFile), @@ -146,10 +146,7 @@ get_table(Table, Mod, Includes) -> end. lookup(Tab, K) -> - case ets:lookup(Tab, K) of - [] -> undefined; - [{K,V}] -> V - end. + ets:lookup_element(Tab, K, 2, undefined). info(EruleMaps) -> {asn1ct:vsn(),EruleMaps}. diff --git a/lib/asn1/src/asn1ct.erl b/lib/asn1/src/asn1ct.erl index de10339c41..3ab83f6262 100644 --- a/lib/asn1/src/asn1ct.erl +++ b/lib/asn1/src/asn1ct.erl @@ -20,6 +20,7 @@ %% %% -module(asn1ct). +-feature(maybe_expr, enable). %% Compile Time functions for ASN.1 (e.g ASN.1 compiler). @@ -2233,15 +2234,13 @@ maybe_rename_function2(Thing,Name,Suffix) %% generated_functions_member/4 checks on both Name and Pattern if %% the element exists in L generated_functions_member(M,Name,L,Pattern) -> - case generated_functions_member(M,Name,L) of - true -> - L2 = generated_functions_filter(M,Name,L), - case lists:keysearch(Pattern,3,L2) of - {value,_} -> - true; - _ -> false - end; - _ -> false + maybe + true ?= generated_functions_member(M,Name,L), + L2 = generated_functions_filter(M,Name,L), + {value,_} ?= lists:keysearch(Pattern,3,L2), + true + else + false -> false end. generated_functions_member(_M,Name,[{Name,_,_}|_]) -> |
