From: Miguel <mig...@us...> - 2004-05-28 12:23:44
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7939/src/org/openscience/jmol/viewer/script Modified Files: Compiler.java Log Message: fixed bug#955761 selecting null chain with select : Index: Compiler.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/script/Compiler.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- Compiler.java 15 May 2004 08:06:40 -0000 1.39 +++ Compiler.java 28 May 2004 12:23:30 -0000 1.40 @@ -1139,28 +1139,37 @@ tokenNext(); return true; } - if (tokPeek() == Token.colon) // null chain followed by model spec + if (tokPeek() == Token.colon) // null chain followed by model spec return true; - Token tokenChain = tokenNext(); - int tokChain = tokenChain.tok; + Token tokenChain; char chain; - if (tokChain == Token.integer) { + switch (tokPeek()) { + case Token.colon: + case Token.nada: + case Token.dot: + chain = '\0'; + break; + case Token.integer: + tokenChain = tokenNext(); if (tokenChain.intValue < 0 || tokenChain.intValue > 9) return invalidChainSpecification(); chain = (char)('0' + tokenChain.intValue); - } else if (tokChain == Token.identifier || - tokChain == Token.x || - tokChain == Token.y || - tokChain == Token.z) { + break; + case Token.identifier: + case Token.x: + case Token.y: + case Token.z: + tokenChain = tokenNext(); String strChain = (String)tokenChain.value; if (strChain.length() != 1) return invalidChainSpecification(); chain = strChain.charAt(0); if (chain == '?') return true; - } else + break; + default: return invalidChainSpecification(); - + } return generateResidueSpecCode(new Token(Token.spec_chain, chain, "spec_chain")); } |