Exemplo n.º 1
0
/*
 * Destroy the xports structure.
 */
void
asn1p_xports_free(asn1p_xports_t *xp) {
	if(xp) {
		asn1p_expr_t *expr;

		free(xp->fromModuleName);
		asn1p_oid_free(xp->identifier.oid);

		while((expr = TQ_REMOVE(&(xp->xp_members), next)))
			asn1p_expr_free(expr);

		free(xp);
	}
}
Exemplo n.º 2
0
/*
 * Destroy the module.
 */
void
asn1p_module_free(asn1p_module_t *mod) {
	if(mod) {
		asn1p_expr_t *expr;
		asn1p_xports_t *xports;

		free(mod->ModuleName);
		free(mod->source_file_name);

		asn1p_oid_free(mod->module_oid);

		while((xports = TQ_REMOVE(&(mod->exports), xp_next)))
			asn1p_xports_free(xports);

		while((xports = TQ_REMOVE(&(mod->imports), xp_next)))
			asn1p_xports_free(xports);

		while((expr = TQ_REMOVE(&(mod->members), next)))
			asn1p_expr_free(expr);

		free(mod);
	}
}