Esempio n. 1
0
/*================================================================
*   ixmlDocumenfree
*       It frees the whole document tree.
*       External function.
*
*=================================================================*/
void
ixmlDocument_free( IN IXML_Document * doc )
{
    if( doc != NULL ) {
        #ifdef PSP_XSLT_SUPPORT
            if(doc->URL)
				T_free(doc->URL);
			if(doc->_private)
				T_free(doc->_private);
        #endif /*PSP_XSLT_SUPPORT*/
	    
        ixmlNode_free( ( IXML_Node * ) doc );
    }

}
Esempio n. 2
0
int
xti_getopt(int fd, int level, int name, void *optval, socklen_t *optlenp)
{
	int					rc, len;
	struct t_optmgmt	*req, *ret;
	struct t_opthdr		*topt;

	req = T_alloc(fd, T_OPTMGMT, T_ALL);
	ret = T_alloc(fd, T_OPTMGMT, T_ALL);
	if (req->opt.maxlen == 0)
		err_quit("xti_getopt: opt.maxlen == 0");

	topt = (struct t_opthdr *) req->opt.buf;
	topt->level = level;
	topt->name = name;
	topt->len = sizeof(struct t_opthdr);	/* just a t_opthdr{} */
	req->opt.len = topt->len;

	req->flags = T_CURRENT;
	if (t_optmgmt(fd, req, ret) < 0) {
		T_free(req, T_OPTMGMT);
		T_free(ret, T_OPTMGMT);
		return(-1);
	}
	rc = ret->flags;

	if (rc == T_SUCCESS || rc == T_READONLY) {
			/*4copy back value and length */
		topt = (struct t_opthdr *) ret->opt.buf;
		len = topt->len - sizeof(struct t_opthdr);
		len = min(len, *optlenp);
		memcpy(optval, topt+1, len);
		*optlenp = len;
	}

	T_free(req, T_OPTMGMT);
	T_free(ret, T_OPTMGMT);

	if (rc == T_SUCCESS || rc == T_READONLY)
		return(0);
	return(-1);		/* T_NOTSUPPORT */
}