int ret;
SABLOTLS_FETCH();
+ if (SABLOTG(current_processor)) {
+ Z_TYPE_P(return_value) = IS_RESOURCE;
+ Z_LVAL_P(return_value) = SABLOTG(current_processor);
+ return;
+ }
+
ret = SablotCreateProcessor(&p);
if (ret) {
ZEND_REGISTER_RESOURCE(return_value, handle, SABLOTG(le_sablot));
handle->index = Z_LVAL_P(return_value);
+ SABLOTG(current_processor) = Z_LVAL_P(return_value);
}
/* }}} */
SablotUnregHandler(handle->p, HLR_SAX, NULL, NULL);
SablotDestroyProcessor(handle->p);
}
+ SABLOTG(current_processor) = 0;
+
FUNCH_FREE(handle->startDocHandler);
FUNCH_FREE(handle->startElementHandler);
FUNCH_FREE(handle->endElementHandler);