summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/esodata/SingleTape.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-09-16 21:12:35 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-09-16 21:12:35 -0300
commit2f96f49c2d2c8679841c790e9dd7d9f1b6f3fed1 (patch)
tree23cfb315743bbb5c1c8fa749e75aba8a54e3a2f7 /base/src/main/java/bjc/utils/esodata/SingleTape.java
parent92c56c5918a0858aad32cc9ee0fb3eee99ebd007 (diff)
Large update
A large update, this contains much debugging of the CL FORMAT routines, as well as a few other minor changes.
Diffstat (limited to 'base/src/main/java/bjc/utils/esodata/SingleTape.java')
-rw-r--r--base/src/main/java/bjc/utils/esodata/SingleTape.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/base/src/main/java/bjc/utils/esodata/SingleTape.java b/base/src/main/java/bjc/utils/esodata/SingleTape.java
index d57bc7f..be9d64b 100644
--- a/base/src/main/java/bjc/utils/esodata/SingleTape.java
+++ b/base/src/main/java/bjc/utils/esodata/SingleTape.java
@@ -79,6 +79,8 @@ public class SingleTape<T> implements Tape<T> {
@Override
public T item() {
+ if (pos < 0 || pos >= backing.size()) return null;
+
return backing.get(pos);
}
@@ -150,13 +152,12 @@ public class SingleTape<T> implements Tape<T> {
@Override
public boolean right(final int amt) {
- if(pos + amt >= backing.size() - 1) {
+ if(pos + amt > backing.size()) {
if(autoExtend) {
while(pos + amt >= backing.size() - 1) {
backing.add(null);
}
- } else
- return false;
+ } else return false;
}
pos += amt;