Browse Source

Fix AND and OR.

cl-refactor
Gav Wood 11 years ago
parent
commit
8c982a5403
  1. 8
      libethereum/Instruction.cpp

8
libethereum/Instruction.cpp

@ -757,14 +757,12 @@ static int compileLispFragment(char const*& d, char const* e, bool _quiet, bytes
{ {
codes.resize(codes.size() + 1); codes.resize(codes.size() + 1);
locs.resize(locs.size() + 1); locs.resize(locs.size() + 1);
{
int o = compileLispFragment(d, e, _quiet, codes.back(), locs.back(), _vars); int o = compileLispFragment(d, e, _quiet, codes.back(), locs.back(), _vars);
if (o == -1)
break;
if (o != 1) if (o != 1)
return false; return false;
} }
if (compileLispFragment(d, e, _quiet, codes.back(), locs.back(), _vars) != -1)
break;
}
// last one is empty. // last one is empty.
if (codes.size() < 2) if (codes.size() < 2)
@ -814,6 +812,8 @@ static int compileLispFragment(char const*& d, char const* e, bool _quiet, bytes
locs.resize(locs.size() + 1); locs.resize(locs.size() + 1);
{ {
int o = compileLispFragment(d, e, _quiet, codes.back(), locs.back(), _vars); int o = compileLispFragment(d, e, _quiet, codes.back(), locs.back(), _vars);
if (o == -1)
break;
if (o != 1) if (o != 1)
return false; return false;
} }

Loading…
Cancel
Save