From ffa341de59bafd1625076fbe04a4e44b3ea2d692 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 30 Jul 2015 08:31:00 +0200 Subject: add macro to access globals as whole --- TSRM/TSRM.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'TSRM/TSRM.h') diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h index 859b3fac01..67adaa3440 100644 --- a/TSRM/TSRM.h +++ b/TSRM/TSRM.h @@ -165,9 +165,11 @@ TSRM_API void *tsrm_get_ls_cache(void); #define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx #define TSRMLS_SET_CTX(ctx) ctx = (void ***) tsrm_get_ls_cache() -#define TSRMG(id, type, element) (((type) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element) +#define TSRMG(id, type, element) (TSRMG_BULK(id, type)->element) +#define TSRMG_BULK(id, type) ((type) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(id)]) -#define TSRMG_STATIC(id, type, element) (((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element) +#define TSRMG_STATIC(id, type, element) (TSRMG_BULK_STATIC(id, type)->element) +#define TSRMG_BULK_STATIC(id, type) ((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)]) #define TSRMLS_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE #define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL #if ZEND_DEBUG -- cgit v1.2.1