aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/util/LinkedList.java12
2 files changed, 16 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d5b0c5b..3a1b794 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -5,6 +5,11 @@
* java/lang/dtoa.c: Include string.h.
* java/lang/natString.cc (toLowerCase): Initialize `ch' to prevent
compiler warning.
+
+ From Adam Welc <welc@cs.purdue.edu>:
+ * java/util/LinkedList.java (removeFirst): Update `first' field.
+ Handle the last == first case.
+ (removeLast): Update `last' field. Handle the last == first case.
2000-12-01 Warren Levy <warrenl@cygnus.com>
diff --git a/libjava/java/util/LinkedList.java b/libjava/java/util/LinkedList.java
index 2221929..e3ce525 100644
--- a/libjava/java/util/LinkedList.java
+++ b/libjava/java/util/LinkedList.java
@@ -183,6 +183,11 @@ public class LinkedList extends AbstractSequentialList
if (first.next != null)
first.next.previous = null;
+ else
+ last = null;
+
+ first = first.next;
+
return r;
}
@@ -195,7 +200,12 @@ public class LinkedList extends AbstractSequentialList
Object r = last.data;
if (last.previous != null)
- last.previous.next = null;
+ last.previous.next = null;
+ else
+ first = null;
+
+ last = last.previous;
+
return r;
}