From b4185edb9428e63a1d5f4e1fb2167fc7f0e6973b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Tue, 4 Apr 2000 17:39:13 +0200 Subject: [PATCH] Bugfix. Rev: src/error.c:1.44 --- src/error.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/error.c b/src/error.c index 94400bbf90..9a41163fc5 100644 --- a/src/error.c +++ b/src/error.c @@ -19,7 +19,7 @@ #include "module_support.h" #include "threads.h" -RCSID("$Id: error.c,v 1.43 2000/04/04 15:30:21 grubba Exp $"); +RCSID("$Id: error.c,v 1.44 2000/04/04 15:39:13 grubba Exp $"); #undef ATTRIBUTE #define ATTRIBUTE(X) @@ -372,8 +372,15 @@ void f_error_backtrace(INT32 args) #define ERROR_COPY(STRUCT,X) \ ERROR_STRUCT(STRUCT,o)->X=X -#define ERROR_COPY_SVALUE(STRUCT,X) \ - (X?assign_svalue_no_free( & ERROR_STRUCT(STRUCT,o)->X, X):((ERROR_STRUCT(STRUCT, o)->X.type = T_INTEGER), (ERROR_STRUCT(STRUCT, o)->X.subtype = 0), (ERROR_STRUCT(STRUCT, o)->X.u.integer = 0))) +#define ERROR_COPY_SVALUE(STRUCT,X) do { \ + if (X) { \ + assign_svalue_no_free( & ERROR_STRUCT(STRUCT,o)->X, X); \ + } else { \ + ERROR_STRUCT(STRUCT, o)->X.type = T_INT; \ + ERROR_STRUCT(STRUCT, o)->X.subtype = 0; \ + ERROR_STRUCT(STRUCT, o)->X.u.integer = 0; \ + } \ + } while (0) #define ERROR_COPY_REF(STRUCT,X) \ -- GitLab