diff --git a/src/svalue.c b/src/svalue.c index d2032aba1fa60f10c1ea1ea6710430ac238f2cc6..5a1852951e77103360678b38d3b49eee8f7e1417 100644 --- a/src/svalue.c +++ b/src/svalue.c @@ -19,11 +19,12 @@ #include "interpret.h" #include "gc.h" #include "pike_macros.h" +#include "pike_types.h" #include <ctype.h> #include "queue.h" #include "bignum.h" -RCSID("$Id: svalue.c,v 1.81 2000/07/04 00:43:57 mast Exp $"); +RCSID("$Id: svalue.c,v 1.82 2000/07/06 22:07:41 grubba Exp $"); struct svalue dest_ob_zero = { T_INT, 0 }; @@ -687,6 +688,11 @@ int low_is_equal(struct svalue *a, case T_PROGRAM: return 0; + case T_TYPE: + if (a->u.string == b->u.string) return 1; + return pike_types_le(a->u.string, b->u.string) && + pike_types_le(b->u.string, a->u.string); + case T_OBJECT: return object_equal_p(a->u.object, b->u.object, p);