summaryrefslogtreecommitdiffstats
path: root/Include/longobject.h
diff options
context:
space:
mode:
authorEric Smith <eric@trueblade.com>2008-02-10 01:36:53 (GMT)
committerEric Smith <eric@trueblade.com>2008-02-10 01:36:53 (GMT)
commit5e527ebee1580f052fc53aacabe3906ffcdd4805 (patch)
treeb77c8ca7e6fcd8a2cd31c184c764a79633e2fb85 /Include/longobject.h
parent14a1b8cc469375577ea42152bfe559fa52d6ece7 (diff)
downloadcpython-5e527ebee1580f052fc53aacabe3906ffcdd4805.zip
cpython-5e527ebee1580f052fc53aacabe3906ffcdd4805.tar.gz
cpython-5e527ebee1580f052fc53aacabe3906ffcdd4805.tar.bz2
Added PyNumber_ToBase and supporting routines _PyInt_Format and
_PyLong_Format. In longobject.c, changed long_format to _PyLong_Format. In intobject.c, changed uses of PyOS_snprintf to _PyInt_Format instead. _PyLong_Format is similar to py3k's routine of the same name, except it has 2 additional parameters: addL and newstyle. addL was existing in long_format, and controls adding the trailing "L". This is unneeded in py3k. newstyle is used to control whether octal prepends "0" (the pre-2.6 style), or "0o" (the 3.0 sytle). PyNumber_ToBase is needed for PEP 3127 (Integer Literal Support and Syntax) and PEP 3101 (Advanced String Formatting). This changeset does not need merging into py3k.
Diffstat (limited to 'Include/longobject.h')
-rw-r--r--Include/longobject.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Include/longobject.h b/Include/longobject.h
index 379e934..8a9e676 100644
--- a/Include/longobject.h
+++ b/Include/longobject.h
@@ -112,6 +112,13 @@ PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
unsigned char* bytes, size_t n,
int little_endian, int is_signed);
+/* _PyLong_Format: Convert the long to a string object with given base,
+ appending a base prefix of 0[box] if base is 2, 8 or 16.
+ Add a trailing "L" if addL is non-zero.
+ If newstyle is zero, then use the pre-2.6 behavior of octal having
+ a leading "0", instead of the prefix "0o" */
+PyAPI_FUNC(PyObject *) _PyLong_Format(PyObject *aa, int base, int addL, int newstyle);
+
#ifdef __cplusplus
}
#endif