From 7c95b53b4c806307d3323b7b06c7ef016a246835 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michal=20Voc=C5=AF?= Date: Mon, 11 Jun 2012 15:42:58 +0000 Subject: [PATCH] implement comparison of tag lists --- org.glite.lb.common/src/events_parse.c.T | 19 +++++++++++++++++++ org.glite.lb.types/types.T | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/org.glite.lb.common/src/events_parse.c.T b/org.glite.lb.common/src/events_parse.c.T index 34323e4..fab9e78 100644 --- a/org.glite.lb.common/src/events_parse.c.T +++ b/org.glite.lb.common/src/events_parse.c.T @@ -111,6 +111,25 @@ char * edg_wll_TagListToString(edg_wll_TagValue *list) { } +int +edg_wll_TagListCompare(edg_wll_TagValue *a, edg_wll_TagValue *b) +{ + char *a_s, *b_s; + int ret; + + if(!a || !b) + return a == b; + + a_s = edg_wll_TagListToString(a); + b_s = edg_wll_TagListToString(b); + + ret = strcmp(a_s, b_s); + free(a_s); + free(b_s); + + return 0 == ret; +} + /** * Edg_wll_ParseEvent - parse ULM message to internal structures * Calls: calloc, free, sprintf, strdup diff --git a/org.glite.lb.types/types.T b/org.glite.lb.types/types.T index 5c51ba6..a984454 100644 --- a/org.glite.lb.types/types.T +++ b/org.glite.lb.types/types.T @@ -154,7 +154,7 @@ logsrc=>'"($a) == ($b)"', timeval=>'"($a).tv_sec == ($b).tv_sec && ($a).tv_usec == ($b).tv_usec"', cclassad=>'"($a == $b)"', - taglist=>'"($a == $b)"', + taglist=>'"edg_wll_TagListCompare($a, $b)"', } ); -- 1.8.2.3