diff options
Diffstat (limited to 'libasn1parser/asn1p_y.y')
-rw-r--r-- | libasn1parser/asn1p_y.y | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y index 4d209c35..0b1c9e40 100644 --- a/libasn1parser/asn1p_y.y +++ b/libasn1parser/asn1p_y.y @@ -95,15 +95,14 @@ static asn1p_module_t *currentModule; #ifdef AL_IMPORT #error AL_IMPORT DEFINED ELSEWHERE! #endif -#define AL_IMPORT(to,where,from,field) do { \ - if(!(from)) break; \ - while(TQ_FIRST(&((from)->where))) { \ - TQ_ADD(&((to)->where), \ - TQ_REMOVE(&((from)->where), field), \ - field); \ - } \ - assert(TQ_FIRST(&((from)->where)) == 0); \ - } while(0) +#define AL_IMPORT(to, where, from, field) \ + do { \ + if(!(from)) break; \ + while(TQ_FIRST(&((from)->where))) { \ + TQ_ADD(&((to)->where), TQ_REMOVE(&((from)->where), field), field); \ + } \ + assert(TQ_FIRST(&((from)->where)) == 0); \ + } while(0) %} @@ -589,7 +588,7 @@ ModuleBody: $$ = asn1p_module_new(); AL_IMPORT($$, exports, $1, xp_next); AL_IMPORT($$, imports, $2, xp_next); - AL_IMPORT($$, members, $3, next); + asn1p_module_move_members($$, $3); asn1p_module_free($1); asn1p_module_free($2); @@ -608,7 +607,7 @@ AssignmentList: $$ = $2; break; } - AL_IMPORT($$, members, $2, next); + asn1p_module_move_members($$, $2); asn1p_module_free($2); } ; @@ -623,14 +622,14 @@ Assignment: checkmem($$); assert($1->expr_type != A1TC_INVALID); assert($1->meta_type != AMT_INVALID); - TQ_ADD(&($$->members), $1, next); + asn1p_module_member_add($$, $1); } | ValueAssignment { $$ = asn1p_module_new(); checkmem($$); assert($1->expr_type != A1TC_INVALID); assert($1->meta_type != AMT_INVALID); - TQ_ADD(&($$->members), $1, next); + asn1p_module_member_add($$, $1); } /* * Value set definition @@ -644,7 +643,7 @@ Assignment: checkmem($$); assert($1->expr_type != A1TC_INVALID); assert($1->meta_type != AMT_INVALID); - TQ_ADD(&($$->members), $1, next); + asn1p_module_member_add($$, $1); } | TOK_ENCODING_CONTROL TOK_capitalreference { asn1p_lexer_hack_push_encoding_control(); } @@ -728,11 +727,11 @@ ImportsList: ImportsElement { $$ = asn1p_xports_new(); checkmem($$); - TQ_ADD(&($$->members), $1, next); + TQ_ADD(&($$->xp_members), $1, next); } | ImportsList ',' ImportsElement { $$ = $1; - TQ_ADD(&($$->members), $3, next); + TQ_ADD(&($$->xp_members), $3, next); } ; @@ -789,11 +788,11 @@ ExportsBody: ExportsElement { $$ = asn1p_xports_new(); assert($$); - TQ_ADD(&($$->members), $1, next); + TQ_ADD(&($$->xp_members), $1, next); } | ExportsBody ',' ExportsElement { $$ = $1; - TQ_ADD(&($$->members), $3, next); + TQ_ADD(&($$->xp_members), $3, next); } ; |