Index: ossp-pkg/ex/ex.h RCS File: /v/ossp/cvs/ossp-pkg/ex/ex.h,v rcsdiff -q -kk '-r1.8' '-r1.9' -u '/v/ossp/cvs/ossp-pkg/ex/ex.h,v' 2>/dev/null --- 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)) { \