summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/bltinmodule.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 9768cd7..47dc920 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -171,7 +171,6 @@ builtin_float(self, v)
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 @@ builtin_int(self, v)
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 @@ builtin_long(self, v)
}
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;