Branch: Tag:

2000-09-03

2000-09-03 22:02:31 by Martin Stjernholm <mast@lysator.liu.se>

Added T_MAPPING_DATA to be able to identify mapping_data blocks in
debug dumps. Added IS_DESTRUCTED.

Rev: src/svalue.h:1.68

5:   \*/      /* -  * $Id: svalue.h,v 1.67 2000/08/29 00:20:51 mast Exp $ +  * $Id: svalue.h,v 1.68 2000/09/03 22:02:31 mast Exp $    */   #ifndef SVALUE_H   #define SVALUE_H
95:   #define T_VOID 16 /* Can't return any value */   #define T_MANY 17    + #define T_MAPPING_DATA 242   #define PIKE_T_SCOPE 243 /* Not supported yet */   #define PIKE_T_TUPLE 244 /* Not supported yet */   #define T_ASSIGN 245
229:      #define IS_UNDEFINED(X) ((X)->type==PIKE_T_INT&&!(X)->u.integer&&(X)->subtype==1)    + #define IS_DESTRUCTED(X) \ +  (((X)->type == PIKE_T_OBJECT || (X)->type==PIKE_T_FUNCTION) && !(X)->u.object->prog) +    #define check_destructed(S) \   do{ \    struct svalue *_s=(S); \ -  if((_s->type == PIKE_T_OBJECT || _s->type==PIKE_T_FUNCTION) && !_s->u.object->prog) { \ +  if(IS_DESTRUCTED(_s)) { \    free_object(_s->u.object); \    _s->type = PIKE_T_INT; \    _s->subtype = NUMBER_DESTRUCTED ; \