8032678: [TESTBUG] sun/misc/Version/Version.java doesn't understand two-digit HotSpot minor version numbers
authorsimonis
Fri, 24 Jan 2014 19:18:17 +0100
changeset 22576 2bafb46a12c4
parent 22575 0c2768190cf4
child 22577 64bb7e55d3c7
8032678: [TESTBUG] sun/misc/Version/Version.java doesn't understand two-digit HotSpot minor version numbers Reviewed-by: kvn
jdk/test/sun/misc/Version/Version.java
--- a/jdk/test/sun/misc/Version/Version.java	Fri Jan 24 21:29:25 2014 +0400
+++ b/jdk/test/sun/misc/Version/Version.java	Fri Jan 24 19:18:17 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -116,10 +116,16 @@
             } else if (Character.isDigit(cs.charAt(0)) &&
                        Character.isDigit(cs.charAt(1)) && cs.charAt(2) == '.' &&
                        Character.isDigit(cs.charAt(3))) {
-                // HSX has nn.n (major.minor) version
+                // HSX has nn.n[n] (major.minor) version
                 major = Integer.valueOf(version.substring(0, 2)).intValue();
-                minor = Character.digit(cs.charAt(3), 10);
-                cs = cs.subSequence(4, cs.length());
+                if (Character.isDigit(cs.charAt(4))) {
+                    minor = Integer.valueOf(version.substring(3, 5)).intValue();
+                    cs = cs.subSequence(5, cs.length());
+                }
+                else {
+                    minor = Character.digit(cs.charAt(3), 10);
+                    cs = cs.subSequence(4, cs.length());
+                }
             }
             if (cs.charAt(0) == '_' && cs.length() >= 3 &&
                 Character.isDigit(cs.charAt(1)) &&