++count; \
MUTEX_UNLOCK(&svref_mutex); \
} STMT_END
-# define ATOMIC_DEC_AND_TEST(res,count) \
- MUTEX_LOCK(&svref_mutex); \
- res = (--count == 0); \
- MUTEX_UNLOCK(&svref_mutex); \
+# define ATOMIC_DEC_AND_TEST(res,count) STMT_START { \
+ MUTEX_LOCK(&svref_mutex); \
+ res = (--count == 0); \
+ MUTEX_UNLOCK(&svref_mutex); \
} STMT_END
# else
# define ATOMIC_INC(count) atomic_inc(&count)
double xnv_nv; /* numeric value, if any */
};
+/* These structure must match the beginning of struct xpvhv in hv.h. */
struct xpvmg {
char * xpv_pv; /* pointer to malloced string */
STRLEN xpv_cur; /* length of xpv_pv as a C string */