reverted back because of side effects
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@716 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1parser/asn1p_list.h b/libasn1parser/asn1p_list.h
index 9d5748c..d6a669a 100644
--- a/libasn1parser/asn1p_list.h
+++ b/libasn1parser/asn1p_list.h
@@ -39,9 +39,10 @@
/* MSVC does not have typeof(), cannot prevent side effects! */
#define TQ_ADD(head, xel, field) do { \
- assert(TQ_NEXT((xel), field) == 0); \
- *(head)->tq_tail = (xel); \
- (head)->tq_tail = &TQ_NEXT((xel), field); \
+ typeof(xel) __el = (xel); \
+ assert(TQ_NEXT((__el), field) == 0); \
+ *(head)->tq_tail = (__el); \
+ (head)->tq_tail = &TQ_NEXT((__el), field); \
} while(0)
/*