diff --git a/src/multiset.c b/src/multiset.c index 02a5c8a345b5f1de1b1a0e5c6f6c149bddd4ad55..2561c10451df7966c78f3b52fdf505466ed72e2f 100644 --- a/src/multiset.c +++ b/src/multiset.c @@ -1339,7 +1339,8 @@ static union msnode *low_multiset_find_eq (struct multiset *l, struct svalue *ke if (TYPEOF(msd->cmp_less) == T_INT) { struct svalue tmp; - if (!(msd->ind_types & (BIT_OBJECT | BIT_FUNCTION))) { + if (!((msd->ind_types | (1 << TYPEOF(*key))) & + (BIT_OBJECT | BIT_FUNCTION))) { /* Can assume an internal order which defines a total order * for all values. */ LOW_RB_FIND (