openslp/openslp.doubleequal.diff

60 lines
1.9 KiB
Diff
Raw Normal View History

--- 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);