From a04045d0a2b27fd61781d9babc27831bc26afbfd Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 1 Aug 2003 21:30:14 +0000 Subject: [PATCH] re PR libgcj/11241 (WeakHashMap throws a "/ zero" ArithmeticException when initialCapacity is explicitly zero) Fix for PR libgcj/11241: * java/util/WeakHashMap.java (WeakHashMap(int,float)): If initialCapacity is 0, set it to 1. From-SVN: r70070 --- libjava/ChangeLog | 6 ++++++ libjava/java/util/WeakHashMap.java | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index e42d79acaf8..71b863f2679 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-08-01 Tom Tromey + + Fix for PR libgcj/11241: + * java/util/WeakHashMap.java (WeakHashMap(int,float)): If + initialCapacity is 0, set it to 1. + 2003-08-01 Stephen Crawley * java/net/SocketImpl.java (toString): Display the remote address diff --git a/libjava/java/util/WeakHashMap.java b/libjava/java/util/WeakHashMap.java index 3431ac921e1..4cce821c5ff 100644 --- a/libjava/java/util/WeakHashMap.java +++ b/libjava/java/util/WeakHashMap.java @@ -1,6 +1,6 @@ /* WeakHashMap -- a hashtable that keeps only weak references to its keys, allowing the virtual machine to reclaim them - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -544,6 +544,8 @@ public class WeakHashMap extends AbstractMap implements Map // Check loadFactor for NaN as well. if (initialCapacity < 0 || ! (loadFactor > 0)) throw new IllegalArgumentException(); + if (initialCapacity == 0) + initialCapacity = 1; this.loadFactor = loadFactor; threshold = (int) (initialCapacity * loadFactor); theEntrySet = new WeakEntrySet();