/* {{{ proto bool MarkdownDocument::setAttributesCallback(callback $attributes_callback) */ PHP_METHOD(markdowndoc, setAttributesCallback) { 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->attr_fci, &dobj->attr_fcc); mkd_e_flags(dobj->markdoc, proxy_attributes_callback); mkd_e_free(dobj->markdoc, free_proxy_return); mkd_e_data(dobj->markdoc, dobj); } else { /* NULL */ markdowndoc_free_callback(&dobj->attr_fci, &dobj->attr_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); }