astropy/utils/xml/src/iterparse.c
/* To support cyclical garbage collection, all PyObject's must be
   visited. */
To support cyclical garbage collection, all PyObject's must be
visited.
To support cyclical garbage collection all PyObject ' s must be visited .
static int
IterParser_traverse(IterParser *self, visitproc visit, void *arg)
{
    int vret;
    Py_ssize_t read_index;
    read_index = self->queue_read_idx;
    while (read_index < self->queue_write_idx) {
        vret = visit(self->queue[read_index++], arg);
        if (vret != 0) return vret;
    }
    if (self->fd) {
        vret = visit(self->fd, arg);
        if (vret != 0) return vret;
    }
    if (self->read) {
        vret = visit(self->read, arg);
        if (vret != 0) return vret;
    }
    if (self->read_args) {
        vret = visit(self->read_args, arg);
        if (vret != 0) return vret;
    }
    if (self->dict_singleton) {
        vret = visit(self->dict_singleton, arg);
        if (vret != 0) return vret;
    }
    if (self->td_singleton) {
        vret = visit(self->td_singleton, arg);
        if (vret != 0) return vret;
    }
    if (self->error_type) {
        vret = visit(self->error_type, arg);
        if (vret != 0) return vret;
    }
    if (self->error_value) {
        vret = visit(self->error_value, arg);
        if (vret != 0) return vret;
    }
    if (self->error_traceback) {
        vret = visit(self->error_traceback, arg);
        if (vret != 0) return vret;
    }
    return 0;
}
static int IterParser_traverse ( IterParser * self , visitproc visit , void * arg ) { int vret ; Py_ssize_t read_index ; read_index = self -> queue_read_idx ; while ( read_index < self -> queue_write_idx ) { vret = visit ( self -> queue [ read_index ++ ] , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> fd ) { vret = visit ( self -> fd , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> read ) { vret = visit ( self -> read , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> read_args ) { vret = visit ( self -> read_args , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> dict_singleton ) { vret = visit ( self -> dict_singleton , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> td_singleton ) { vret = visit ( self -> td_singleton , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> error_type ) { vret = visit ( self -> error_type , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> error_value ) { vret = visit ( self -> error_value , arg ) ; if ( vret != 0 ) return vret ; } if ( self -> error_traceback ) { vret = visit ( self -> error_traceback , arg ) ; if ( vret != 0 ) return vret ; } return 0 ; }
To support cyclical garbage collection, all PyObject's must be
visited.
To support cyclical garbage collection all PyObject ' s must be visited .