diff options
-rw-r--r-- | libasn1parser/asn1p_list.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libasn1parser/asn1p_list.h b/libasn1parser/asn1p_list.h index 9d5748cb..d6a669ac 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) /* |