public override string ToString()
{
StringBuilder sb = new StringBuilder();
-
WrappedList<byte> wCodeBytes = new WrappedList<byte>(codeBytes);
- while (wCodeBytes.ItemsLeft > 0)
+ opcodetype opcode; // Current opcode
+ IEnumerable<byte> pushArgs; // OP_PUSHDATAn argument
+ while (ScriptOpcode.GetOp(ref wCodeBytes, out opcode, out pushArgs))
{
if (sb.Length != 0)
{
sb.Append(" ");
}
- opcodetype opcode;
- IEnumerable<byte> pushArgs;
- if (!ScriptOpcode.GetOp(ref wCodeBytes, out opcode, out pushArgs))
- {
- sb.Append("[error]");
- break;
- }
-
if (0 <= opcode && opcode <= opcodetype.OP_PUSHDATA4)
{
sb.Append(ScriptOpcode.ValueString(pushArgs));
private int Index;
private List<T> Elements;
- public int ItemsLeft
- {
- get { return Elements.Count - Index; }
- }
-
public WrappedList(IList<T> List, int Start)
{
Elements = new List<T>(List);
public T[] GetItems(int Count)
{
- if (ItemsLeft < Count)
+ if (Elements.Count - Index < Count)
{
throw new WrappedListException("Unable to read requested amount of data.");
}