diff --git a/src/error.c b/src/error.c index bb2753d57f75414796f8b237045b62328614eabc..94400bbf90c5ce0191477a535fa58ce48232cc43 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.42 2000/03/20 21:00:04 hubbe Exp $"); +RCSID("$Id: error.c,v 1.43 2000/04/04 15:30:21 grubba Exp $"); #undef ATTRIBUTE #define ATTRIBUTE(X) @@ -373,7 +373,7 @@ void f_error_backtrace(INT32 args) ERROR_STRUCT(STRUCT,o)->X=X #define ERROR_COPY_SVALUE(STRUCT,X) \ - assign_svalue_no_free( & ERROR_STRUCT(STRUCT,o)->X, 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_REF(STRUCT,X) \