diff --git a/lib/isc/include/isc/refcount.h b/lib/isc/include/isc/refcount.h index 0db8e4c590..2fa44dbc53 100644 --- a/lib/isc/include/isc/refcount.h +++ b/lib/isc/include/isc/refcount.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: refcount.h,v 1.6 2004/03/05 05:11:00 marka Exp $ */ +/* $Id: refcount.h,v 1.6.18.1 2004/04/14 05:14:04 marka Exp $ */ #ifndef ISC_REFCOUNT_H #define ISC_REFCOUNT_H 1 @@ -143,16 +143,18 @@ typedef struct isc_refcount { #define isc_refcount_increment(rp, tp) \ do { \ + unsigned int *_tmp = (unsigned int *)(tp); \ int _n = ++(rp)->refs; \ - if ((tp) != NULL) \ - *(unsigned int *)(tp) = (unsigned int)(_n); \ + if (_tmp != NULL) \ + *_tmp = _n; \ } while (0) #define isc_refcount_decrement(rp, tp) \ do { \ + unsigned int *_tmp = (unsigned int *)(tp); \ int _n = --(rp)->refs; \ - if ((tp) != NULL) \ - *(unsigned int *)(tp) = (unsigned int)(_n); \ + if (_tmp != NULL) \ + *_tmp = _n; \ } while (0) #endif