File openslp.doubleequal.diff of Package openslp

--- slpd/slpd_predicate.c.orig	2006-11-16 12:40:22.000000000 +0100
+++ slpd/slpd_predicate.c	2006-11-16 12:45:22.000000000 +0100
@@ -78,10 +78,11 @@
  *********/
 
 #include <assert.h>
-#include <ctype.h>
+#include <ctype.h>
 #include <stdlib.h>
 
 #include "slpd_predicate.h"
+#include "slpd_property.h"
 
 #include "../libslpattr/libslpattr.h"
 #include "../libslpattr/libslpattr_internal.h"
@@ -1389,6 +1390,10 @@
             }
         }
 
+        if (op == EQUAL && G_SlpdProperty.allowDoubleEqualInPredicate && operator[1] == '=')
+        {
+            val_start++;
+        }
 
         /***** Get operands. *****/
         /**** Left. ****/
--- slpd/slpd_property.h.orig2	2006-11-16 12:43:26.000000000 +0100
+++ slpd/slpd_property.h	2006-11-16 12:43:48.000000000 +0100
@@ -95,6 +95,7 @@
     int             checkSourceAddr;
     int             DAHeartBeat;
     int             oversizedUDP;
+    int             allowDoubleEqualInPredicate;
 }SLPDProperty;
 
 
--- slpd/slpd_property.c.orig2	2006-11-16 12:42:24.000000000 +0100
+++ slpd/slpd_property.c	2006-11-16 12:43:11.000000000 +0100
@@ -132,6 +132,7 @@
     G_SlpdProperty.checkSourceAddr = SLPPropertyAsBoolean(SLPPropertyGet("net.slp.checkSourceAddr"));
     G_SlpdProperty.DAHeartBeat = SLPPropertyAsInteger(SLPPropertyGet("net.slp.DAHeartBeat"));
     G_SlpdProperty.oversizedUDP = SLPPropertyAsBoolean(SLPPropertyGet("net.slp.oversizedUDP"));
+    G_SlpdProperty.allowDoubleEqualInPredicate = SLPPropertyAsBoolean(SLPPropertyGet("net.slp.allowDoubleEqualInPredicate"));
 
 
     /*-------------------------------------*/
--- test/SLPD_predicate_test/slpd_predicate_test.c.orig	2006-11-16 13:09:05.000000000 +0100
+++ test/SLPD_predicate_test/slpd_predicate_test.c	2006-11-16 13:10:31.000000000 +0100
@@ -5,6 +5,10 @@
 
 #ifdef ENABLE_PREDICATES
 
+#include <slpd_property.h>
+
+SLPDProperty G_SlpdProperty;
+
 typedef void* SLPDPredicate; 
 int SLPDPredicateTest(SLPDPredicate predicate, SLPAttributes attr);