Exemple #1
0
static void entity_dealloc(EntityObject *self)
{
  PyObject_GC_UnTrack((PyObject *) self);
  Py_CLEAR(self->documentURI);
  Py_CLEAR(self->publicId);
  Py_CLEAR(self->systemId);
  Py_CLEAR(self->unparsed_entities);
  Py_CLEAR(self->creationIndex);
  Node_Del(self);
}
Exemple #2
0
static void xns_dealloc(PyXPathNamespaceObject *self)
{
  PyObject_GC_UnTrack((PyObject *) self);

  Py_DECREF(self->nodeValue);
  self->nodeValue = NULL;

  Py_DECREF(self->nodeName);
  self->nodeName = NULL;

  Node_Del(self);
}
Exemple #3
0
PyXPathNamespaceObject *XPathNamespace_New(PyElementObject *parentNode,
                                           PyObject *prefix,
                                           PyObject *namespaceURI)
{
  PyXPathNamespaceObject *self;

  if (parentNode == NULL || !PyElement_Check(parentNode)) {
    PyErr_BadInternalCall();
    return NULL;
  }

  self = Node_New(PyXPathNamespaceObject, &DomletteXPathNamespace_Type,
                  Node_GET_DOCUMENT(parentNode));
  if (self != NULL) {
    if (xns_init(self, parentNode, prefix, namespaceURI) < 0) {
      Node_Del(self);
      return NULL;
    }
  }

  PyObject_GC_Track(self);

  return self;
}
static void docfrag_dealloc(PyDocumentFragmentObject *self)
{
  PyObject_GC_UnTrack((PyObject *) self);

  Node_Del(self);
}