diff options
author | Emile Joubert <emile@rabbitmq.com> | 2011-11-28 16:39:35 +0000 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2011-11-28 16:39:35 +0000 |
commit | 1dbd4eca982651c95dff1c2045d2e2df0ba75386 (patch) | |
tree | 32264db5d9a9a84957b68296809f71992e39f4bc | |
parent | ff07cdabd6fec11d82be05ea294068a53c7b40d7 (diff) | |
download | rabbitmq-server-1dbd4eca982651c95dff1c2045d2e2df0ba75386.tar.gz |
Rearrange
-rw-r--r-- | src/rabbit_misc.erl | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index e145c200..96fd7193 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -250,24 +250,21 @@ assert_args_equivalence(Orig, New, Name, Keys) -> ok. assert_args_equivalence1(Orig, New, Name, Key) -> - Comparison = - case {table_lookup(Orig, Key), table_lookup(New, Key)} of - {Same, Same} -> - ok; - {{OrigType, OrigVal} = Orig1, {NewType, NewVal} = New1} -> - case type_class(OrigType) == type_class(NewType) andalso - OrigVal == NewVal of - true -> ok; - false -> {Orig1, New1} - end; - {_, _} = X -> X - end, - case Comparison of - ok -> ok; - {Orig2, New2} -> protocol_error(precondition_failed, "inequivalent arg" - " '~s' for ~s: received ~s but current" - " is ~s", - [Key, rs(Name), val(New2), val(Orig2)]) + FailureFun = fun (Orig1, New1) -> + protocol_error(precondition_failed, "inequivalent arg '~s'" + "for ~s: received ~s but current is ~s", + [Key, rs(Name), val(New1), val(Orig1)]) + end, + case {table_lookup(Orig, Key), table_lookup(New, Key)} of + {Same, Same} -> + ok; + {{OrigType, OrigVal} = Orig1, {NewType, NewVal} = New1} -> + case type_class(OrigType) == type_class(NewType) andalso + OrigVal == NewVal of + true -> ok; + false -> FailureFun(Orig1, New1) + end; + {Orig1, New1} -> FailureFun(Orig1, New1) end. val(undefined) -> |