| #include <stdlib.h> |
| #include <string.h> |
| |
| #include "asn1parser.h" |
| |
| /* |
| * Construct a new structure that would hold the EXPORTS or IMPORTS |
| * clause data. |
| */ |
| asn1p_xports_t * |
| asn1p_xports_new() { |
| asn1p_xports_t *xp; |
| |
| xp = calloc(1, sizeof *xp); |
| if(xp) { |
| TQ_INIT(&(xp->members)); |
| } |
| |
| return xp; |
| } |
| |
| /* |
| * 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->members), next))) |
| asn1p_expr_free(expr); |
| |
| free(xp); |
| } |
| } |