summaryrefslogtreecommitdiffstats
path: root/Objects/rangeobject.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2006-04-11 09:04:12 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2006-04-11 09:04:12 (GMT)
commit72d206776d34bcc38abbf16aa93c2d25ebec4df9 (patch)
treeb88b17cdf6d890bbefebe7736147b590ac00a8b4 /Objects/rangeobject.c
parent9eec489c4a021d181bc7ccc37921543114b69988 (diff)
downloadcpython-72d206776d34bcc38abbf16aa93c2d25ebec4df9.zip
cpython-72d206776d34bcc38abbf16aa93c2d25ebec4df9.tar.gz
cpython-72d206776d34bcc38abbf16aa93c2d25ebec4df9.tar.bz2
Remove "static forward" declaration. Move constructors
after the type objects.
Diffstat (limited to 'Objects/rangeobject.c')
-rw-r--r--Objects/rangeobject.c92
1 files changed, 45 insertions, 47 deletions
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index e8374c1..c48bee0 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -200,53 +200,6 @@ typedef struct {
long len;
} rangeiterobject;
-static PyTypeObject Pyrangeiter_Type;
-
-static PyObject *
-range_iter(PyObject *seq)
-{
- rangeiterobject *it;
-
- if (!PyRange_Check(seq)) {
- PyErr_BadInternalCall();
- return NULL;
- }
- it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
- if (it == NULL)
- return NULL;
- it->index = 0;
- it->start = ((rangeobject *)seq)->start;
- it->step = ((rangeobject *)seq)->step;
- it->len = ((rangeobject *)seq)->len;
- return (PyObject *)it;
-}
-
-static PyObject *
-range_reverse(PyObject *seq)
-{
- rangeiterobject *it;
- long start, step, len;
-
- if (!PyRange_Check(seq)) {
- PyErr_BadInternalCall();
- return NULL;
- }
- it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
- if (it == NULL)
- return NULL;
-
- start = ((rangeobject *)seq)->start;
- step = ((rangeobject *)seq)->step;
- len = ((rangeobject *)seq)->len;
-
- it->index = 0;
- it->start = start + (len-1) * step;
- it->step = -step;
- it->len = len;
-
- return (PyObject *)it;
-}
-
static PyObject *
rangeiter_next(rangeiterobject *r)
{
@@ -301,3 +254,48 @@ static PyTypeObject Pyrangeiter_Type = {
rangeiter_methods, /* tp_methods */
0,
};
+
+static PyObject *
+range_iter(PyObject *seq)
+{
+ rangeiterobject *it;
+
+ if (!PyRange_Check(seq)) {
+ PyErr_BadInternalCall();
+ return NULL;
+ }
+ it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
+ if (it == NULL)
+ return NULL;
+ it->index = 0;
+ it->start = ((rangeobject *)seq)->start;
+ it->step = ((rangeobject *)seq)->step;
+ it->len = ((rangeobject *)seq)->len;
+ return (PyObject *)it;
+}
+
+static PyObject *
+range_reverse(PyObject *seq)
+{
+ rangeiterobject *it;
+ long start, step, len;
+
+ if (!PyRange_Check(seq)) {
+ PyErr_BadInternalCall();
+ return NULL;
+ }
+ it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
+ if (it == NULL)
+ return NULL;
+
+ start = ((rangeobject *)seq)->start;
+ step = ((rangeobject *)seq)->step;
+ len = ((rangeobject *)seq)->len;
+
+ it->index = 0;
+ it->start = start + (len-1) * step;
+ it->step = -step;
+ it->len = len;
+
+ return (PyObject *)it;
+}