From e2d522cbf23b7ec40882cb91242496f57738978c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Sat, 16 May 1998 01:21:47 -0700 Subject: [PATCH] more debug added Rev: src/mapping.c:1.34 --- src/mapping.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/mapping.c b/src/mapping.c index 0a83b30235..36506b3a1f 100644 --- a/src/mapping.c +++ b/src/mapping.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: mapping.c,v 1.33 1998/05/14 21:45:21 hubbe Exp $"); +RCSID("$Id: mapping.c,v 1.34 1998/05/16 08:21:47 hubbe Exp $"); #include "main.h" #include "object.h" #include "mapping.h" @@ -936,6 +936,9 @@ void mapping_search_no_free(struct svalue *to, void check_mapping(struct mapping *m) { + int e,num; + struct keypair *k; + if(m->refs <=0) fatal("Mapping has zero refs.\n"); @@ -965,7 +968,22 @@ void check_mapping(struct mapping *m) if(!m->hash && m->size) fatal("Hey! where did my hashtable go??\n"); + + num=0; + MAPPING_LOOP(m) + { + num++; + + if(! ( (1 << k->ind.type) & (m->ind_types) )) + fatal("Mapping indices type field lies.\n"); + + if(! ( (1 << k->val.type) & (m->val_types) )) + fatal("Mapping values type field lies.\n"); + + } + if(m->size != num) + fatal("Shields are failing, hull integrity down to 20%%\n"); } void check_all_mappings(void) -- GitLab