From: Finn B. <bc...@us...> - 2001-11-03 19:42:43
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv28997 Modified Files: Py.java Log Message: Fix for "[ #477768 ] ord([123]) 21a3". Check for the Py.NoConversion return value from __tojava_ before casting the value. Index: Py.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/Py.java,v retrieving revision 2.52 retrieving revision 2.53 diff -C2 -d -r2.52 -r2.53 *** Py.java 2001/11/03 19:26:02 2.52 --- Py.java 2001/11/03 19:42:40 2.53 *************** *** 1244,1251 **** if (o instanceof PyInteger) return (byte)((PyInteger)o).getValue(); ! Byte i = (Byte)o.__tojava__(Byte.TYPE); ! if (i == null) throw Py.TypeError("integer required"); ! return i.byteValue(); } public static short py2short(PyObject o) { --- 1244,1251 ---- if (o instanceof PyInteger) return (byte)((PyInteger)o).getValue(); ! Object i = o.__tojava__(Byte.TYPE); ! if (i == null || i == Py.NoConversion) throw Py.TypeError("integer required"); ! return ((Byte) i).byteValue(); } public static short py2short(PyObject o) { *************** *** 1253,1260 **** return (short)((PyInteger)o).getValue(); ! Short i = (Short)o.__tojava__(Short.TYPE); ! if (i == null) throw Py.TypeError("integer required"); ! return i.shortValue(); } --- 1253,1260 ---- return (short)((PyInteger)o).getValue(); ! Object i = o.__tojava__(Short.TYPE); ! if (i == null || i == Py.NoConversion) throw Py.TypeError("integer required"); ! return ((Short) i).shortValue(); } *************** *** 1276,1283 **** return (long)((PyInteger)o).getValue(); ! Long i = (Long)o.__tojava__(Long.TYPE); ! if (i == null) throw Py.TypeError("integer required"); ! return i.longValue(); } --- 1276,1283 ---- return (long)((PyInteger)o).getValue(); ! Object i = o.__tojava__(Long.TYPE); ! if (i == null || i == Py.NoConversion) throw Py.TypeError("integer required"); ! return ((Long) i).longValue(); } *************** *** 1288,1295 **** return (float)((PyInteger)o).getValue(); ! Float i = (Float)o.__tojava__(Float.TYPE); ! if (i == null) throw Py.TypeError("float required"); ! return i.floatValue(); } public static double py2double(PyObject o) { --- 1288,1295 ---- return (float)((PyInteger)o).getValue(); ! Object i = o.__tojava__(Float.TYPE); ! if (i == null || i == Py.NoConversion) throw Py.TypeError("float required"); ! return ((Float) i).floatValue(); } public static double py2double(PyObject o) { *************** *** 1299,1306 **** return (double)((PyInteger)o).getValue(); ! Double i = (Double)o.__tojava__(Double.TYPE); ! if (i == null) throw Py.TypeError("float required"); ! return i.doubleValue(); } --- 1299,1306 ---- return (double)((PyInteger)o).getValue(); ! Object i = o.__tojava__(Double.TYPE); ! if (i == null || i == Py.NoConversion) throw Py.TypeError("float required"); ! return ((Double) i).doubleValue(); } *************** *** 1320,1327 **** } ! Character i = (Character)o.__tojava__(Character.TYPE); ! if (i == null) throw Py.TypeError(msg); ! return i.charValue(); } --- 1320,1327 ---- } ! Object i = o.__tojava__(Character.TYPE); ! if (i == null || i == Py.NoConversion) throw Py.TypeError(msg); ! return ((Character) i).charValue(); } |