Commit 2c55c597 authored by Georg Brandl's avatar Georg Brandl

Make _fields attr for no fields consistent with _attributes attr.

parent ebc8dedd
...@@ -163,6 +163,9 @@ class AST_Tests(unittest.TestCase): ...@@ -163,6 +163,9 @@ class AST_Tests(unittest.TestCase):
self.assertEquals(x.right, 3) self.assertEquals(x.right, 3)
self.assertEquals(x.lineno, 0) self.assertEquals(x.lineno, 0)
# this used to fail because Sub._fields was None
x = _ast.Sub()
def test_main(): def test_main():
test_support.run_unittest(AST_Tests) test_support.run_unittest(AST_Tests)
......
...@@ -674,14 +674,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int ...@@ -674,14 +674,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int
{ {
PyObject *fnames, *result; PyObject *fnames, *result;
int i; int i;
if (num_fields) {
fnames = PyTuple_New(num_fields); fnames = PyTuple_New(num_fields);
if (!fnames) return NULL; if (!fnames) return NULL;
} else { for (i = 0; i < num_fields; i++) {
fnames = Py_None;
Py_INCREF(Py_None);
}
for(i=0; i < num_fields; i++) {
PyObject *field = PyString_FromString(fields[i]); PyObject *field = PyString_FromString(fields[i]);
if (!field) { if (!field) {
Py_DECREF(fnames); Py_DECREF(fnames);
......
...@@ -465,14 +465,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int ...@@ -465,14 +465,9 @@ static PyTypeObject* make_type(char *type, PyTypeObject* base, char**fields, int
{ {
PyObject *fnames, *result; PyObject *fnames, *result;
int i; int i;
if (num_fields) {
fnames = PyTuple_New(num_fields); fnames = PyTuple_New(num_fields);
if (!fnames) return NULL; if (!fnames) return NULL;
} else { for (i = 0; i < num_fields; i++) {
fnames = Py_None;
Py_INCREF(Py_None);
}
for(i=0; i < num_fields; i++) {
PyObject *field = PyString_FromString(fields[i]); PyObject *field = PyString_FromString(fields[i]);
if (!field) { if (!field) {
Py_DECREF(fnames); Py_DECREF(fnames);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment