|
From: <fwi...@us...> - 2011-03-16 05:44:19
|
Revision: 7241
http://jython.svn.sourceforge.net/jython/?rev=7241&view=rev
Author: fwierzbicki
Date: 2011-03-16 05:44:13 +0000 (Wed, 16 Mar 2011)
Log Message:
-----------
Fixes various calls to int() with new numerical literals.
Modified Paths:
--------------
trunk/jython/src/org/python/core/PyString.java
Modified: trunk/jython/src/org/python/core/PyString.java
===================================================================
--- trunk/jython/src/org/python/core/PyString.java 2011-03-14 23:09:29 UTC (rev 7240)
+++ trunk/jython/src/org/python/core/PyString.java 2011-03-16 05:44:13 UTC (rev 7241)
@@ -1587,17 +1587,37 @@
while (b < e && Character.isWhitespace(getString().charAt(b))) b++;
}
- if (base == 0 || base == 16) {
+ if (base == 16) {
if (getString().charAt(b) == '0') {
if (b < e-1 &&
Character.toUpperCase(getString().charAt(b+1)) == 'X') {
+ b += 2;
+ }
+ }
+ } else if (base == 0) {
+ if (getString().charAt(b) == '0') {
+ if (b < e-1 && Character.toUpperCase(getString().charAt(b+1)) == 'X') {
base = 16;
b += 2;
+ } else if (b < e-1 && Character.toUpperCase(getString().charAt(b+1)) == 'O') {
+ base = 8;
+ b += 2;
+ } else if (b < e-1 && Character.toUpperCase(getString().charAt(b+1)) == 'B') {
+ base = 2;
+ b += 2;
} else {
- if (base == 0)
- base = 8;
+ base = 8;
}
}
+ } else if (base == 8) {
+ if (b < e-1 && Character.toUpperCase(getString().charAt(b+1)) == 'O') {
+ b += 2;
+ }
+ } else if (base == 2) {
+ if (b < e-1 &&
+ Character.toUpperCase(getString().charAt(b+1)) == 'B') {
+ b += 2;
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|