NativeEnumerated.c vars NULL init and check
[com/asn1c.git] / libasn1parser / asn1p_xports.c
1 #include <stdlib.h>
2 #include <string.h>
3
4 #include "asn1parser.h"
5
6 /*
7  * Construct a new structure that would hold the EXPORTS or IMPORTS
8  * clause data.
9  */
10 asn1p_xports_t *
11 asn1p_xports_new() {
12         asn1p_xports_t *xp;
13
14         xp = calloc(1, sizeof *xp);
15         if(xp) {
16                 TQ_INIT(&(xp->xp_members));
17         }
18
19         return xp;
20 }
21
22 /*
23  * Destroy the xports structure.
24  */
25 void
26 asn1p_xports_free(asn1p_xports_t *xp) {
27         if(xp) {
28                 asn1p_expr_t *expr;
29
30                 free(xp->fromModuleName);
31                 asn1p_oid_free(xp->identifier.oid);
32
33                 while((expr = TQ_REMOVE(&(xp->xp_members), next)))
34                         asn1p_expr_free(expr);
35
36                 free(xp);
37         }
38 }