diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/util/LinkedList.java | 12 |
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; } |