/* {{{ proto bool MarkdownDocument::setUrlCallback(callback $url_callback) */ PHP_METHOD(markdowndoc, setUrlCallback) { zend_fcall_info fci; zend_fcall_info_cache fcc; discount_object *dobj; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "f!", &fci, &fcc) == FAILURE) { RETURN_FALSE; } if ((dobj = markdowndoc_get_object(getThis(), 0 TSRMLS_CC)) == NULL) { RETURN_FALSE; } if (fci.size > 0) { /* non-NULL passed */ markdowndoc_store_callback(&fci, &fcc, &dobj->url_fci, &dobj->url_fcc); mkd_e_url(dobj->markdoc, proxy_url_callback); mkd_e_free(dobj->markdoc, free_proxy_return); mkd_e_data(dobj->markdoc, dobj); } else { /* NULL */ markdowndoc_free_callback(&dobj->url_fci, &dobj->url_fcc); mkd_e_url(dobj->markdoc, NULL); } RETURN_TRUE; }
void mkd_basename(MMIOT *document, char *base) { mkd_e_url(document, e_basename); mkd_e_data(document, base); mkd_e_free(document, e_free); }