Skip to content

Commit a68cc55

Browse files
committed
Fixed incorrect error return
1 parent e365821 commit a68cc55

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

result.c

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,41 @@ result_init(getdns_ResultObject *self, PyObject *args, PyObject *keywds)
4747
return -1;
4848
}
4949
self->answer_type = PyInt_FromLong((long)answer_type);
50-
if ((canonical_name = get_canonical_name(result_dict)) == 0) {
51-
Py_DECREF(self);
52-
return -1;
53-
}
54-
self->canonical_name = PyString_FromString(canonical_name);
50+
if ((canonical_name = get_canonical_name(result_dict)) == 0)
51+
self->canonical_name = Py_None;
52+
else
53+
self->canonical_name = PyString_FromString(canonical_name);
5554
if ((self->just_address_answers = get_just_address_answers(result_dict)) == NULL) {
56-
Py_DECREF(self);
57-
return -1;
58-
}
59-
if ((self->validation_chain = get_validation_chain(result_dict)) == NULL) {
60-
Py_DECREF(self);
61-
return -1;
55+
self->just_address_answers = Py_None;
6256
}
57+
if ((self->validation_chain = get_validation_chain(result_dict)) == NULL)
58+
self->validation_chain = Py_None;
6359
return 0;
6460
}
6561

6662

63+
PyObject *
64+
result_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
65+
{
66+
getdns_ResultObject *self;
67+
68+
self = (getdns_ResultObject *)type->tp_alloc(type, 0);
69+
if (self != NULL) {
70+
self->just_address_answers = Py_None;
71+
self->answer_type = Py_None;
72+
self->status = Py_None;
73+
self->replies_tree = Py_None;
74+
self->canonical_name = Py_None;
75+
self->replies_full = Py_None;
76+
self->validation_chain = Py_None;
77+
}
78+
return (PyObject *)self;
79+
}
80+
81+
82+
83+
84+
6785
void
6886
result_dealloc(getdns_ResultObject *self)
6987
{

0 commit comments

Comments
 (0)