maintaining parent expression
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index 71fa0fa..04912fe 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -23,9 +23,9 @@
static asn1p_value_t *
_convert_bitstring2binary(char *str, int base);
-#define checkmem(ptr) do { \
- if(!(ptr)) \
- return yyerror("Memory failure"); \
+#define checkmem(ptr) do { \
+ if(!(ptr)) \
+ return yyerror("Memory failure"); \
} while(0)
#define CONSTRAINT_INSERT(root, constr_type, arg1, arg2) do { \
@@ -818,11 +818,11 @@
ActualParameter {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
- TQ_ADD(&($$->members), $1, next);
+ asn1p_expr_add($$, $1);
}
| ActualParameterList ',' ActualParameter {
$$ = $1;
- TQ_ADD(&($$->members), $3, next);
+ asn1p_expr_add($$, $3);
}
;
@@ -846,11 +846,11 @@
ComponentType {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
- TQ_ADD(&($$->members), $1, next);
+ asn1p_expr_add($$, $1);
}
| ComponentTypeLists ',' ComponentType {
$$ = $1;
- TQ_ADD(&($$->members), $3, next);
+ asn1p_expr_add($$, $3);
}
;
@@ -867,7 +867,7 @@
checkmem($$);
$$->meta_type = $3->meta_type;
$$->expr_type = A1TC_COMPONENTS_OF;
- TQ_ADD(&($$->members), $3, next);
+ asn1p_expr_add($$, $3);
}
| ExtensionAndException {
$$ = $1;
@@ -878,11 +878,11 @@
AlternativeType {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
- TQ_ADD(&($$->members), $1, next);
+ asn1p_expr_add($$, $1);
}
| AlternativeTypeLists ',' AlternativeType {
$$ = $1;
- TQ_ADD(&($$->members), $3, next);
+ asn1p_expr_add($$, $3);
}
;
@@ -919,11 +919,11 @@
checkmem($$);
$$->expr_type = A1TC_CLASSDEF;
$$->meta_type = AMT_OBJECT;
- TQ_ADD(&($$->members), $1, next);
+ asn1p_expr_add($$, $1);
}
| ClassFieldList ',' ClassField {
$$ = $1;
- TQ_ADD(&($$->members), $3, next);
+ asn1p_expr_add($$, $3);
}
;
@@ -1085,7 +1085,7 @@
$$->constraints = $2;
$$->expr_type = ASN_CONSTR_SEQUENCE_OF;
$$->meta_type = AMT_TYPE;
- TQ_ADD(&($$->members), $4, next);
+ asn1p_expr_add($$, $4);
}
| TOK_SET optConstraints TOK_OF TypeDeclaration {
$$ = asn1p_expr_new(yylineno);
@@ -1093,7 +1093,7 @@
$$->constraints = $2;
$$->expr_type = ASN_CONSTR_SET_OF;
$$->meta_type = AMT_TYPE;
- TQ_ADD(&($$->members), $4, next);
+ asn1p_expr_add($$, $4);
}
| TOK_ANY {
$$ = asn1p_expr_new(yylineno);
@@ -1808,11 +1808,11 @@
UniverationElement {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
- TQ_ADD(&($$->members), $1, next);
+ asn1p_expr_add($$, $1);
}
| UniverationList ',' UniverationElement {
$$ = $1;
- TQ_ADD(&($$->members), $3, next);
+ asn1p_expr_add($$, $3);
}
;