From d4df00af4a8a3223a3f7c9f66bb3f4437c272f39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Fri, 7 Jul 2000 00:07:41 +0200
Subject: [PATCH] Fixed bug in is_equal().

Rev: src/svalue.c:1.82
---
 src/svalue.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/svalue.c b/src/svalue.c
index d2032aba1f..5a1852951e 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);
 
-- 
GitLab