ossp-pkg/ex/ex.h 1.8 -> 1.9
--- ex.h 2002/01/26 22:50:12 1.8
+++ ex.h 2002/01/27 19:38:49 1.9
@@ -142,10 +142,11 @@
/* the block for trying execution */
#define ex_try \
{ \
+ ex_ctx_t *__ex_ctx_ptr = __ex_ctx; \
__ex_mctx_t *__ex_mctx_en; \
__ex_mctx_t __ex_mctx_me; \
- __ex_mctx_en = __ex_ctx->ctx_mctx; \
- __ex_ctx->ctx_mctx = &__ex_mctx_me; \
+ __ex_mctx_en = __ex_ctx_ptr->ctx_mctx; \
+ __ex_ctx_ptr->ctx_mctx = &__ex_mctx_me; \
if (__ex_mctx_save(&__ex_mctx_me)) { \
if (1)
@@ -153,13 +154,13 @@
#define ex_catch(e) \
else { \
} \
- __ex_ctx->ctx_caught = 0; \
+ __ex_ctx_ptr->ctx_caught = 0; \
} \
else { \
__ex_mctx_restored(&__ex_mctx_me); \
- __ex_ctx->ctx_caught = 1; \
+ __ex_ctx_ptr->ctx_caught = 1; \
} \
- __ex_ctx->ctx_mctx = __ex_mctx_en; \
+ __ex_ctx_ptr->ctx_mctx = __ex_mctx_en; \
} \
if ( !(__ex_ctx->ctx_caught) \
|| ((e) = __ex_ctx->ctx_ex, 0)) { \
|
|