From c7ad765ef844b968a4c2328e75465784baffe89c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Wed, 3 Oct 2001 15:20:45 -0700 Subject: [PATCH] bugfix for mapping_is_constant Rev: src/mapping.c:1.139 --- src/mapping.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mapping.c b/src/mapping.c index 723c68c2d4..5e869339e6 100644 --- a/src/mapping.c +++ b/src/mapping.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: mapping.c,v 1.138 2001/09/25 05:55:10 hubbe Exp $"); +RCSID("$Id: mapping.c,v 1.139 2001/10/03 22:20:45 hubbe Exp $"); #include "main.h" #include "object.h" #include "mapping.h" @@ -2460,6 +2460,7 @@ void zap_all_mappings(void) int mapping_is_constant(struct mapping *m, struct processing *p) { + int ret=1; INT32 e; struct keypair *k; struct mapping_data *md=m->data; @@ -2470,11 +2471,16 @@ int mapping_is_constant(struct mapping *m, add_ref(md); NEW_MAPPING_LOOP(md) { - if(!svalues_are_constant(&k->ind, 1, md->ind_types, p)) return 0; - if(!svalues_are_constant(&k->val, 1, md->val_types, p)) return 0; + if(!svalues_are_constant(&k->ind, 1, md->ind_types, p) || + !svalues_are_constant(&k->val, 1, md->val_types, p)) + { + ret=0; + e=md->hashsize; + break; + } } md->valrefs--; free_mapping_data(md); } - return 1; + return ret; } -- GitLab