From 4bb18dd2daa1e13ab4f9aaff2ddc4875c4776559 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Thu, 8 Jun 2000 16:57:41 +0000 Subject: Fix i_same for 'c' instruction. --- filter/filter.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'filter/filter.c') diff --git a/filter/filter.c b/filter/filter.c index a7a17bd..25711c5 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -748,7 +748,21 @@ i_same(struct f_inst *f1, struct f_inst *f2) } break; - case 'c': A2_SAME; break; + case 'c': + if (f1->aux & T_SET) { + if (!same_tree(f1->a2.p, f2->a2.p)) + return 0; + break; + } + switch (f1->aux) { + case T_STRING: + if (strcmp(f1->a2.p, f2->a2.p)) + return 0; + break; + default: + A2_SAME; + } + break; case 'C': if (val_compare(* (struct f_val *) f1->a1.p, * (struct f_val *) f2->a1.p)) return 0; -- cgit v1.2.3