fixed multiple imports problem
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@106 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index 822a8ef..3b9af31 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -456,12 +456,13 @@
#error MY_IMPORT DEFINED ELSEWHERE!
#endif
#define MY_IMPORT(foo,field) do { \
- if(TQ_FIRST(&($2->foo))) { \
+ while(TQ_FIRST(&($2->foo))) { \
TQ_ADD(&($$->foo), \
TQ_REMOVE(&($2->foo), field), \
field); \
- assert(TQ_FIRST(&($2->foo)) == 0); \
- } } while(0)
+ } \
+ assert(TQ_FIRST(&($2->foo)) == 0); \
+ } while(0)
MY_IMPORT(imports, xp_next);
MY_IMPORT(exports, xp_next);