Mercurial > cpython-lru_cache-weakref
diff Objects/longobject.c @ 406:e628d09ce22f legacy-trunk
Changed convert to add '0' or '0x' prefix for oct/hex.
Added NULL function pointers for shift and mask ops.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 24 Oct 1991 14:55:57 +0000 |
| parents | 6ac402023cac |
| children | 9f85beb1f7c8 |
line wrap: on
line diff
--- a/Objects/longobject.c Thu Oct 24 14:55:28 1991 +0000 +++ b/Objects/longobject.c Thu Oct 24 14:55:57 1991 +0000 @@ -253,7 +253,8 @@ } /* Convert a long int object to a string, using a given conversion base. - Return a string object. */ + Return a string object. + If base is 8 or 16, add the proper prefix '0' or '0x'. */ stringobject * long_format(a, base) @@ -276,7 +277,7 @@ ++bits; i >>= 1; } - i = 1 + (size_a*SHIFT + bits-1) / bits; + i = 3 + (size_a*SHIFT + bits-1) / bits; str = (stringobject *) newsizedstringobject((char *)0, i); if (str == NULL) return NULL; @@ -310,6 +311,12 @@ }) } while (a->ob_size != 0); DECREF(a); + if (base == 8) + *--p = '0'; + else if (base == 16) { + *--p = 'x'; + *--p = '0'; + } if (sign) *--p = sign; if (p != GETSTRINGVALUE(str)) { @@ -992,6 +999,12 @@ long_pos, /*tp_positive*/ long_abs, /*tp_absolute*/ long_nonzero, /*tp_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ }; typeobject Longtype = {
