diff options
Diffstat (limited to 'libjava/classpath/gnu/java/security/der')
-rw-r--r-- | libjava/classpath/gnu/java/security/der/BitString.java | 13 | ||||
-rw-r--r-- | libjava/classpath/gnu/java/security/der/DERReader.java | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/libjava/classpath/gnu/java/security/der/BitString.java b/libjava/classpath/gnu/java/security/der/BitString.java index b88b14541b6..02b1c037762 100644 --- a/libjava/classpath/gnu/java/security/der/BitString.java +++ b/libjava/classpath/gnu/java/security/der/BitString.java @@ -286,6 +286,19 @@ public class BitString implements Cloneable, Comparable return 0; // not reached. } + public int hashCode() + { + int result = 0; + for (int i = 0; i < bytes.length - 1; ++i) + result = result * 31 + bytes[i]; + if (bytes.length > 0) + { + int lastByte = bytes[bytes.length - 1] & ~ ((1 << ignoredBits) - 1); + result = result * 31 + lastByte; + } + return result; + } + public boolean equals(Object o) { if (!(o instanceof BitString)) diff --git a/libjava/classpath/gnu/java/security/der/DERReader.java b/libjava/classpath/gnu/java/security/der/DERReader.java index cb07f14325f..09ec1e2dff0 100644 --- a/libjava/classpath/gnu/java/security/der/DERReader.java +++ b/libjava/classpath/gnu/java/security/der/DERReader.java @@ -389,7 +389,7 @@ public class DERReader implements DER Integer.parseInt(str.substring( 4, 6)), // day Integer.parseInt(str.substring( 6, 8)), // hour Integer.parseInt(str.substring( 8, 10))); // minute - if (date.length() == 12); + if (date.length() == 12) calendar.set(Calendar.SECOND, Integer.parseInt(str.substring(10, 12))); } |