From 892b49262d3475c07f36f4214b481bfdefd92d3a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20K=C5=99enek?= Date: Tue, 6 Sep 2005 15:12:44 +0000 Subject: [PATCH] use glite_jp_attrval_cmp() in checking query conditions --- org.glite.jp.primary/src/feed.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/org.glite.jp.primary/src/feed.c b/org.glite.jp.primary/src/feed.c index f59be5e..3797c48 100644 --- a/org.glite.jp.primary/src/feed.c +++ b/org.glite.jp.primary/src/feed.c @@ -27,13 +27,21 @@ static int check_qry_item( { int cmp,cmp2; long scmp,ucmp; + glite_jp_attrval_t qattr; if (strcmp(qry->attr,attr->name)) return 0; - if (qry->origin && qry->origin != attr->origin) return 0; + if (qry->origin != GLITE_JP_ATTR_ORIG_ANY && qry->origin != attr->origin) return 0; - /* FIXME: fallback only, loop over type plugins and use plugin compare function */ - cmp = strcmp(attr->value,qry->value); + memset(&qattr,0,sizeof qattr); + qattr.name = qry->attr; + qattr.value = qry->value; + qattr.binary = qry->binary; + qattr.size = qry->size; + qattr.origin = qry->origin; + + /* XXX: don't assert */ + assert(glite_jp_attrval_cmp(ctx,attr,&qattr,&cmp) == 0); switch (qry->op) { case GLITE_JP_QUERYOP_EQUAL: return !cmp; @@ -42,8 +50,10 @@ static int check_qry_item( case GLITE_JP_QUERYOP_GREATER: return cmp > 0; case GLITE_JP_QUERYOP_WITHIN: - /* FIXME: the same */ - cmp2 = strcmp(attr->value,qry->value); + qattr.value = qry->value2; + qattr.size = qry->size2; + /* XXX: assert */ + assert(glite_jp_attrval_cmp(ctx,attr,&qattr,&cmp2) == 0); return cmp >= 0 && cmp2 <= 0; } } -- 1.8.2.3