From: <ha...@us...> - 2008-03-06 17:31:14
|
Revision: 9058 http://jmol.svn.sourceforge.net/jmol/?rev=9058&view=rev Author: hansonr Date: 2008-03-06 09:15:44 -0800 (Thu, 06 Mar 2008) Log Message: ----------- version=11.4.RC9 # bug fix: Parser: "3xxx" read as 3 instead of 0; "3.5xxx" read as 3.5 instead of NaN Modified Paths: -------------- branches/v11_4/Jmol/src/org/jmol/util/Parser.java branches/v11_4/Jmol/src/org/jmol/viewer/Jmol.properties Modified: branches/v11_4/Jmol/src/org/jmol/util/Parser.java =================================================================== --- branches/v11_4/Jmol/src/org/jmol/util/Parser.java 2008-03-06 17:13:20 UTC (rev 9057) +++ branches/v11_4/Jmol/src/org/jmol/util/Parser.java 2008-03-06 17:15:44 UTC (rev 9058) @@ -98,6 +98,8 @@ if (iData == Integer.MIN_VALUE || iData < 0 || iData >= len || (iData = matchData[iData]) < 0) continue; + if (bs != null) + bs.set(iData); } else { while (++i < len && bs != null && !bs.get(i)) { } @@ -249,9 +251,16 @@ } else { next[0] = ich; // the exponent code finds its own ichNextParse } - return value; + return (checkTrailingText(str, next[0], ichMax) ? value : Float.NaN); } + private static boolean checkTrailingText(String str, int ich, int ichMax) { + //number must be pure -- no additional characters other than white space + while (ich < ichMax && isWhiteSpace(str, ich)) + ++ich; + return (ich == ichMax); + } + public static int parseInt(String str, int[] next) { int cch = str.length(); if (next[0] >= cch) @@ -285,7 +294,7 @@ digitSeen = true; ++ich; } - if (!digitSeen) + if (!digitSeen || !checkTrailingText(str, ich, ichMax)) value = Integer.MIN_VALUE; else if (negative) value = -value; Modified: branches/v11_4/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v11_4/Jmol/src/org/jmol/viewer/Jmol.properties 2008-03-06 17:13:20 UTC (rev 9057) +++ branches/v11_4/Jmol/src/org/jmol/viewer/Jmol.properties 2008-03-06 17:15:44 UTC (rev 9058) @@ -1,5 +1,6 @@ -version=11.4.RC9_dev +version=11.4.RC9 +# bug fix: Parser: "3xxx" read as 3 instead of 0; "3.5xxx" read as 3.5 instead of NaN # bug fix: write PDB format incorrectly writes atoms with 4-length names # bug fix: Spartan SMOL directory reader doesn't assign bonds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |