diff Python/bltinmodule.c @ 47822:3ada46f2321d legacy-trunk

Revert 64424, 64438, and 64439.
author Raymond Hettinger <python@rcn.com>
date Tue, 24 Jun 2008 22:46:07 +0000
parents edc701d00b62
children 4550144b1560
line wrap: on
line diff
--- a/Python/bltinmodule.c	Tue Jun 24 15:58:53 2008 +0000
+++ b/Python/bltinmodule.c	Tue Jun 24 22:46:07 2008 +0000
@@ -211,24 +211,7 @@
 static PyObject *
 builtin_bin(PyObject *self, PyObject *v)
 {
-	PyNumberMethods *nb;
-	PyObject *res;
-
-	if ((nb = v->ob_type->tp_as_number) == NULL ||
-	    nb->nb_hex == NULL) {
-		PyErr_SetString(PyExc_TypeError,
-			   "bin() argument can't be converted to hex");
-		return NULL;
-	}
-	res = (*nb->nb_bin)(v);
-	if (res && !PyString_Check(res)) {
-		PyErr_Format(PyExc_TypeError,
-			     "__bin__ returned non-string (type %.200s)",
-			     res->ob_type->tp_name);
-		Py_DECREF(res);
-		return NULL;
-	}
-	return res;
+        return PyNumber_ToBase(v, 2);
 }
 
 PyDoc_STRVAR(bin_doc,