diff Python/bltinmodule.c @ 253:d4e532ee6f3d legacy-trunk

Fix conversion of double to long; stylistic changes.
author Guido van Rossum <guido@python.org>
date Mon, 03 Jun 1991 10:58:01 +0000
parents 6693c5d87f3a
children 6ac402023cac
line wrap: on
line diff
--- a/Python/bltinmodule.c	Mon Jun 03 10:55:14 1991 +0000
+++ b/Python/bltinmodule.c	Mon Jun 03 10:58:01 1991 +0000
@@ -171,7 +171,6 @@
 		return newfloatobject((double)x);
 	}
 	else if (is_longobject(v)) {
-		extern double dgetlongvalue();
 		return newfloatobject(dgetlongvalue(v));
 	}
 	else if (is_floatobject(v)) {
@@ -215,12 +214,13 @@
 	else if (is_longobject(v)) {
 		long x;
 		x = getlongvalue(v);
-		if (x == -1 && err_occurred())
+		if (err_occurred())
 			return NULL;
 		return newintobject(x);
 	}
 	else if (is_floatobject(v)) {
 		double x = getfloatvalue(v);
+		/* XXX should check for overflow */
 		return newintobject((long)x);
 	}
 	err_setstr(TypeError, "int() argument must be int, long or float");
@@ -269,7 +269,7 @@
 	}
 	else if (is_floatobject(v)) {
 		double x = getfloatvalue(v);
-		return newlongobject((long)x);
+		return dnewlongobject(x);
 	}
 	err_setstr(TypeError, "long() argument must be int, long or float");
 	return NULL;